Load Balancing

For HTTP, HTTP/2, and gRPC connections, Linkerd automatically load balancesrequests across all destination endpoints without any configuration required.(For TCP connections, Linkerd will balance connections.)

Linkerd uses an algorithm called EWMA, or exponentially weighted moving average,to automatically send requests to the fastest endpoints. This load balancing canimprove end-to-end latencies.

Service discovery

For destinations that are not in Kubernetes, Linkerd will balance acrossendpoints provided by DNS. For destinations that are in Kubernetes, Linkerdwill read service discovery information directly from the Kubernetes API ratherthan relying on DNS. This means that, regardless of whether the service isexposed as a headless service, Linkerd will balance requests properly.

Load balancing gRPC

Linkerd’s load balancing is particularly useful for gRPC (or HTTP/2) servicesin Kubernetes, for which Kubernetes’s default load balancing is noteffective.