nacos 数据流转有些疑问 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

nacos 数据流转有些疑问

一人吃饱,全家不饿 2021-02-02 10:51:15 288
  1. 注册失败,心跳成功,那么服务也会注册到节点上,最后也会同步到其它节点;这个会不会有一种幻觉的感觉,明明失败了,过一会儿查看确有了
  2. tcp 健康检测机制,根据检查结果,实例状态发送变化,怎么同步给其它实例呢 --我看源码是发送请求/api/healthCheckResult 但是没有找到这个请求接收的类;就是TCP 健康检查结果数据怎么流转的呢
  3. raft 存储数据的问题

三个活跃节点 A,B,C;其中A 为leader 1.在注册服务的时候,先在A 节点存储成功,但是这个时候B,C 因为某种原因网络波动了,导致最终注册失败,提示给客户端注册失败;但是随后网络恢复,leader 会通过心跳把刚才注册的服务同步到其它节点吗?如果会,其实表示已经注册成功了; 即使不会,A 节点已经有刚注册节点,这个不需要回滚机制吗?

目前有5个节点,A,B,C,D,E 其中 A 为leader 2.注册服务时,A 向B发送了注册请求后就宕机了,B 已经存储了,最后leader 选举,选了C (有可能把);那c 在发起心跳时,由于B 的term >C ,无法接受C 的心跳数据同步,一直会出现,B 数据多余C 情况,除非新增服务;这种情况能容忍吗

Nacos
分享到
取消 提交回答
全部回答(1)
  • 一人吃饱,全家不饿
    2021-02-02 11:23:19
    1. 是一个优化点
    2. 关于健康检查结果的改变,通过distro协议的对账机制同步给其他节点。没有走raft
    3. 一致性协议是不存在回滚机制的,只有提交成功或者不成功;B的term大于C,C就不可能会是Leader,除非网络分区的因素,C节点所在的网络分区的总Nacos节点数满足过半要求,且C的term最大
    0 0
+ 订阅

我们开放源码,更相信社区的力量。

推荐文章
相似问题
链接