Zookeeper中的领导者选举的流程是怎样的?

对于Zookeeper集群,整个集群需要 从集群节点中选出⼀个节点作为Leader ,⼤体流程如下:
  1. 集群中各个节点⾸先都是 观望状态 (LOOKING),⼀开始都会投票给⾃⼰,认为⾃⼰⽐较适合作为 leader
  2. 然后 相互交互投票 每个节点会收到其他节点发过来的选票,然后pk,先⽐较zxid,zxid⼤者获胜,zxid如果相等则⽐较myid,myid⼤者获胜
  3. ⼀个节点收到其他节点发过来的选票,经过PK后,如果PK输了,则改票,此节点就会投给zxid myid更⼤的节点,并将选票放⼊⾃⼰的投票箱中,并将新的选票发送给其他节点
  4. 如果 pk是平局则将接收到的选票放⼊⾃⼰的投票箱中
  5. 如果pk赢了,则忽略所接收到的选票
  6. 当然⼀个节点将⼀张选票放⼊到⾃⼰的投票箱之后,就会从投票箱中统计票数,看是否超过⼀半的节点都和⾃⼰所投的节点是⼀样的,如果超过半数,那么则认为当前⾃⼰所投的节点是leader
  7. 集群中每个节点都会经过同样的流程,pk的规则也是⼀样的, ⼀旦改票就会告诉给其他服务器,所以最终各个节点中的投票箱中的选票也将是⼀样的 ,所以各个节点最终选出来的leader也是⼀样的,这样集群的leader就选举出来了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图图是个好孩纸~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值