- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 GRPC/Java 构建具有负载平衡的服务器集管理机制。
通过查看 API 文档,有以下类:LoadBalancer、RoundRobinLoadBalancerFactory 等
从名字来看,他们似乎应该做我想做的事情。然而,即使我非常努力地搜索,我也找不到任何使用这些类的代码示例。
另一方面,我发现了一些 Finagle/Thrift 示例,如下所示:https://github.com/benjumanji/finagle-serverset-example
我想知道是否有人可以分享一些可用的 GRPC 示例?谢谢!
最佳答案
gRPC LoadBalancer与NameResolver一起工作。 NameResolver 向 LoadBalancer 发出地址,LoadBalancer 做出有关建立连接 ( Subchannels ) 和 picking a Subchannel 的决定。对于每个请求。
NameResolver 和/或 LoadBalancer 可以是 set to ManagedChannelBuilder用于 channel 。
虽然接口(interface)已经存在,但除了基本的 DnsNameResolver 和 RoundRobinLoadBalancer 之外,没有太多常用的实现。 PickFirstBalancerFactory 是默认的“LoadBalancer”,实际上不做平衡。
如果您的地址在 DNS 中具有多个地址,则在使用 RoundRobinLoadBalancer 时您将观察到循环行为。但是,我猜您想从某些服务发现系统(例如 ZooKeeper)获取地址。您需要为此实现一个 NameResolver。如果您熟悉您选择的发现系统,那么这应该不难。
关于protocol-buffers - GRPC 负载均衡器示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42681921/
我是一名优秀的程序员,十分优秀!