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.