所以我正在开发一个基于gRPC的远程处理框架,我创建了自己的服务注册表,我的服务在它们出现时注册。当然,我希望客户端使用自定义NameResolver查找服务器。
所以现在这个工作正常,但由于我想在运行时更改服务注册表(例如支持滚动升级),我希望NameResolver继续检查,当发生更改时,我希望它通过执行更新注册表的onUpdate。问题是,我可以这样做并且gRPC框架是否会尊重更新?
所以我的理解是负载均衡器检查ResolvedServerInfo列表,以便它知道在哪些之间进行负载平衡。但从那时起,我不清楚这是如何工作的。它是否每次检查并且是否允许继续更新NameResolver。听者?
我希望是这种情况,因为它是我试图实现的服务发现的关键部分。
由于
马格努斯
答案 0 :(得分:0)
NameResolver
旨在获取基于推送的更新,而不是轮询地址更改。为了实现您的目标,您需要设置一个计时器,以定期刷新客户名称解析器中的名称。