package balancer
import "github.com/coreos/etcd/clientv3/balancer"
Package balancer implements client balancer.
Index ¶
Functions ¶
func RegisterBuilder ¶
func RegisterBuilder(cfg Config)
RegisterBuilder creates and registers a builder. Since this function calls balancer.Register, it must be invoked at initialization time.
Types ¶
type Balancer ¶
type Balancer interface { // Balancer is called on specified client connection. Client initiates gRPC // connection with "grpc.Dial(addr, grpc.WithBalancerName)", and then those resolved // addresses are passed to "grpc/balancer.Balancer.HandleResolvedAddrs". // For each resolved address, balancer calls "balancer.ClientConn.NewSubConn". // "grpc/balancer.Balancer.HandleSubConnStateChange" is called when connectivity state // changes, thus requires failover logic in this method. balancer.Balancer // Picker calls "Pick" for every client request. picker.Picker }
Balancer defines client balancer interface.
type Config ¶
type Config struct { // Policy configures balancer policy. Policy picker.Policy // Name defines an additional name for balancer. // Useful for balancer testing to avoid register conflicts. // If empty, defaults to policy name. Name string // Logger configures balancer logging. // If nil, logs are discarded. Logger *zap.Logger }
Config defines balancer configurations.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
clientv3/balancer/connectivity | Package connectivity implements client connectivity operations. |
clientv3/balancer/picker | Package picker defines/implements client balancer picker policy. |
clientv3/balancer/resolver | |
clientv3/balancer/resolver/endpoint | Package endpoint resolves etcd entpoints using grpc targets of the form 'endpoint://<id>/<endpoint>'. |
- Version
- v3.3.27+incompatible
- Published
- Oct 15, 2021
- Platform
- linux/amd64
- Imports
- 15 packages
- Last checked
- 7 minutes ago –
Tools for package owners.