在节点失败的情况下更新服务发现缓存

baubqpgj  于 2021-06-26  发布在  Mesos
关注(0)|答案(0)|浏览(176)

我正在尝试为我的系统采用服务发现机制。我有一堆节点,它们将通过grpc相互通信。因为在一些框架(比如mesos)中,一个新节点出现故障后,可能会使用不同的ip地址和端口,所以我正在考虑使用服务发现,这样每个节点都可以有一个集群配置,该配置与节点故障无关。
我目前的选择是使用dns或像etcd或zookeeper这样的强一致性键值存储。我的问题是理解健康节点中的名称Map缓存在节点上下移动时是如何失效和更新的。
我能想到的可能方法是:
当健康节点检测到连接问题时,它们将失效
他们的缓存条目,并继续拉dns注册表,直到节点再次连接。
当一个节点处于上下状态时,dns注册表将事件广播到所有正常的节点。似乎这可能需要从dns注册心跳。
每个节点中的缓存都有一个ttl字段,在ttl间隔内,每个节点都必须忍受节点故障,直到缓存项过期并再次从dns注册表中提取为止。
我的问题是哪种选择(你可以列举更多)是现实中的情况,为什么它比其他选择更好?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题