redis 集群模式中master选举机制和zookeeper集群中的选举以及nacos选举的对比记忆

最近翻到redis集群中某个master宕机后如何选举新的master出来时发现有点类似zookeeper中的选举【稍有不同】;

 

redis集群中:当某个master宕机之后,某个slave感知到他的master变为fail状态了,会将自身的epoch值加一,然后尝试变为master,向集群中的其他master询问自身能不能做新的master,如果超过一半的master同意了,他就会晋升为新的master,超不过一半此过程后重复(期间别的salve也可能会竞争),一旦被半数认可,会广播告知集群中的其他节点,即使后来master活过来因为spoch值过小,没人听他的,会自动降级为slave;

 

zookeeper(一致性协议ZAB)集群选举(假设5台):老的挂掉后,开始新的选举,先判断谁是最新事物id(zxid),如果存在一致,在判断节点id谁打谁做master,之后集群个节点的spoch值加1,这样即使老的活过来epoch值太小没有slave听他的,从而防止脑裂;【首次启动时的选举是在记电启动到刚超过一半第3台时选出节点id最大的为master】

 

nacos(一致性协议raft)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值