c# - 在 C# 中使用 gRPC 子通道进行负载平衡
问题描述
我想为 grpc 做简单的客户端负载平衡,如此处所述。
我正在使用 Microsoft Azure Service Fabric,因此获取可用端点列表很简单,但我找不到将子通道添加到 C#Channel
类的 API。是否可以使用 C# 客户端添加子频道?如果不是什么将是实现这一点的最佳解决方案。
解决方案
如果你设置
channelOptions.Add(new ChannelOption("grpc.lb_policy_name", "round_robin"));
GRPC C# 客户端将自动为 DNS 请求解析的每个 A 记录打开子通道,并适当地在它们之间进行路由。
几年前 Jan Tattermusch 的 Kubecon 演讲中的这个示例 repo是 C# 中 GRPC 负载平衡的一个很好的例子(尽管是针对 Kubernetes,而不是服务结构) 。
推荐阅读
- c - 如何提高 CMWX1ZZABZ-091 RTC(实时时钟)的精度
- sql - 使用子网列中的 IP 地址创建列
- xcode - 分发配置文件不包括开发证书
- android - 为什么使用 .setCustomAnimations() 在 .hide() 上 Fragment 会崩溃?
- java - Java 中 OSI PI 中的 Kerberos 身份验证
- azure - Azure SignalR 服务错误 - 消息速率达到限制
- typescript - 如果隐藏了 TypeScript 中的全局对象,如何访问它?
- android - 清单合并失败。添加并链接 react-native-splash-screen 后
- hive - 允许在配置单元表的字段中使用空值
- corda - 在 3.1 版中使用节点的问题在不同的机器上