首页 > 解决方案 > 在 C# 中使用 gRPC 子通道进行负载平衡

问题描述

我想为 grpc 做简单的客户端负载平衡,如此处所述

我正在使用 Microsoft Azure Service Fabric,因此获取可用端点列表很简单,但我找不到将子通道添加到 C#Channel类的 API。是否可以使用 C# 客户端添加子频道?如果不是什么将是实现这一点的最佳解决方案。

标签: c#azure-service-fabricgrpc

解决方案


如果你设置

channelOptions.Add(new ChannelOption("grpc.lb_policy_name", "round_robin"));

GRPC C# 客户端将自动为 DNS 请求解析的每个 A 记录打开子通道,并适当地在它们之间进行路由。

几年前 Jan Tattermusch 的 Kubecon 演讲中的这个示例 repo是 C# 中 GRPC 负载平衡的一个很好的例子(尽管是针对 Kubernetes,而不是服务结构) 。


推荐阅读