ETCD Client Load Balancer
SMF supports the ETCD client, version 3.4.21, which implements the clientv3-grpc1.14 library. This library is backward compatible.
The clientv3-grpc1.14 library has the following key points:
-
Simplify the balancer failover logic instead of maintaining a list of unhealthy endpoints.
-
Create multiple subconnections, which implies one subconnection per endpoint, when multiple endpoints are available. For example, in a five-node cluster, clientv3-grpc1.14 balancer requires five TCP connections.
-
Provide more flexible load balancer with a better failover performance by preserving the pool of TCP connections.
-
Extend the default round robin balancing policy to support other types of balancers, such as power of two and pick leader.
-
Use the gRPC resolver group and implement balancer picker policy to delegate complex balancing work to upstream gRPC.
-
Implement retry in the gRPC interceptor chain that handles gRPC internal errors automatically and enables advanced retry policies, such as backoff.