我正在使用 Consul 进行服务发现;并在客户端启动期间在 NameResolver.start(Listener listener) 中提供服务器列表。
- 我如何添加作为服务提供者加入的新服务器(在 Consul 中)
- 我正在使用循环;当其中一台服务器死亡时;它不断击中死服务器
- 你有一个样本可以重试 UNAVAILABLE 异常吗?我只想在放弃客户端之前至少重试一次。
先感谢您
我写了自己的 LoadBalancer;和 @Override pickTransport() 从 Consul 到 RoundRobin 健康的 gRPC 服务器。
当服务器列表发生变化时(在 Consul 中),调用NameResolver.Listener.onUpdate()
,你应该至少调用一次。
负载平衡实现和 API 正在接受大规模的返工,这应该会极大地改进循环。
在这里,我使用领事作为我的注册表。它工作正常。
它包含 Eureka 和 consul 的示例。