在客户端动态添加服务器/运行时

时间:2016-12-14 16:20:50

标签: grpc grpc-java

我正在使用Consul进行服务发现;并在客户端启动期间提供NameResolver.start(监听器侦听器)中的服务器列表。

  1. 如何添加作为服务提供商加入的新服务器(在领事中)
  2. 我正在使用Round Robin;当其中一个服务器死亡时;它不断击中死机服务器
  3. 您是否有样本可以在UNAVAILABLE异常上重试?我只想在放弃客户端之前至少重试一次。
  4. 先谢谢你

3 个答案:

答案 0 :(得分:0)

当服务器列表发生变化时(在Consul中),请致电NameResolver.Listener.onUpdate(),您应该至少调用一次。

负载平衡实现和API正在接收大量的返工,这应该会大大改善循环。

答案 1 :(得分:0)

我写了自己的LoadBalancer;和@Override pickTransport()到Consul的RoundRobin健康gRPC服务器。

答案 2 :(得分:0)

在这里我使用consul作为我的注册表。它工作正常。

它包含尤里卡和领事的例子。

https://github.com/WThamira/gRpc-spring-boot-example