我正在尝试为我的系统采用服务发现机制。我有一堆节点,他们将通过 gRpc 相互通信。因为在一些像 Mesos 这样的框架中,一个新的节点在失败之后会出现可能有一个不同的IP地址和一个不同的端口,我正在考虑使用服务发现所以每个节点都可以拥有一个与节点故障无关的集群配置。
我目前的选择是使用DNS或强一致的键值存储,如etcd或zookeeper。 我的问题是要了解健康节点中名称映射的缓存如何在节点经历向下和向上时失效和更新。
我能想到的可能方式是:
我的问题是哪个选项(你可以更多名字)是现实的情况以及为什么它比其他选择更好?