Releases: tarantool/go-discovery
Releases · tarantool/go-discovery
v1.1.0
This release introduces two new discoverers:
Cachediscoverer to store the first discovered result.Storagediscoverer allows get configuration from go-storage.
Added
Storagediscoverer allows to fetch instance configuration from a cluster
configuration in storage usinggo-storage(#56).Cachediscoverer type that stores the first discovered result (#58).
Fixed
checkTimeoutrace condition between deadline check and context
cancellation that could cause EtcdDiscoveryto block indefinitely (#57).
v1.0.0
The first public release includes etcd and TcS support. Main features:
- Fetch Tarantool instances configurations from etcd and Tarantool Config Storage.
- Create an update instance configuration events stream due to changes in a cluster configuration storage.
- Filter configurations with a custom set of filters.
- Create a pool of connections depending on actual cluster configuration in a cluster configuration storage.
- All requests from the Go connector
tarantool/go-tarantoolare supported (includetarantool/go-tarantool/crudrequests).
Added
Instancetype describes an instance configuration.Modeenumeration allows to choose an instance mode to execute a request.filtersubpackage with a set filters to fetch only required instances.discoverersubpackage with a set of discoverers to fetch instances configuration.Etcddiscoverer allows to fetch instance configuration from a cluster configuration in etcd.Filterdiscoverer allows to filter a list of instances configurations.Connectablediscoverer returns a list of nodes from the inner discoverer that are available for connection.Tarantooldiscoverer allows to fetch instence configuration from a Tarantool Config Storage.
schedulersubpackage with a set of schedulers.Periodicscheduler allows to schedule events due to a timeout.EtcdWatchscheduler allows to schedule events due to updates in etcd.
subscribersubpackage with a set of types to subscribe to new update instances configurations events.Connectablefilters the stream of events from the inner Subscriber and isolates from it only nodes available for connection.Schedulesubscriber combine scheduler and discoverer to generate update the events stream.Filtersubscriber allows to filter an update events stream due to instance configuration.
observersubpackage with a set of observers to observe any update events.Accumulatorobserver accumulates events and sends them by batches. While one batch is being sent, the other is accumulating.
poolsubpackage with a set of types to create a connection pool.NetDialerFactorycreates a connection settings to connect to an instance without TLS from the instance configuration.RoundRobinBalancerhelps to send requests from a pool to instances in round-robin.PriorityBalancerhelps to send requests from a pool to instances with a higher priority.Poolof connections could be subscribed to a subscriber. It observes an update events stream and establishes connections or removes a connection from pool due to changes.DoerAdapteradapts Pool to tarantool.Doer to send requests into the pool with specified mode.