7. 负载均衡

对于 HTTPHTTP/2gRPC 连接, Linkerd 会自动在所有目标端点之间对请求进行负载均衡,无需任何配置。 (对于 TCP 连接Linkerd 会平衡连接。)

Linkerd 使用称为 EWMA指数加权移动平均(exponentially weighted moving average)的算法自动将请求发送到最快的端点。 这种负载均衡可以改善端到端延迟。

服务发现

对于不在 Kubernetes 中的目的地,Linkerd 将在 DNS 提供的端点之间进行均衡。

对于 Kubernetes 中的目的地,Linkerd 将在 Kubernetes API 中查找 IP 地址。 如果 IP 地址对应于一个服务,Linkerd 将在该服务的端点之间进行负载均衡,并应用该服务的服务配置文件中的任何策略。 另一方面,如果 IP 地址对应一个 PodLinkerd 将不会执行任何负载均衡或应用任何服务配置文件

负载均衡 gRPC

Linkerd负载均衡对于 Kubernetes 中的 gRPC(或 HTTP/2)服务特别有用,对于这些服务, Kubernetes 的默认负载均衡是无效的