Documentation ¶
Overview ¶
Package balancer implements client balancer.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
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.
Directories ¶
Path | Synopsis |
---|---|
Package connectivity implements client connectivity operations.
|
Package connectivity implements client connectivity operations. |
Package picker defines/implements client balancer picker policy.
|
Package picker defines/implements client balancer picker policy. |
resolver
|
|
endpoint
Package endpoint resolves etcd entpoints using grpc targets of the form 'endpoint://<id>/<endpoint>'.
|
Package endpoint resolves etcd entpoints using grpc targets of the form 'endpoint://<id>/<endpoint>'. |
Click to show internal directories.
Click to hide internal directories.