带你搞明白Zookeeper选举机制

本文详细介绍了Zookeeper的选举机制,包括全新集群和非全新集群的选举流程,以及ZAB协议中的崩溃恢复和消息广播。选举流程中,服务器通过比较ID和ZXID选择最优的Leader,确保数据一致性。ZAB协议保证了分布式数据的一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

没什么,搞不明白别打我就行,初学者如有问题请及时指正! 

在上一篇文章我们有介绍3种server角色:Leader、Follower以及Observer(不参加选举),所以只有Leader和Follower会参加选举,那么都什么时候会出发选举呢?

  • 服务器初始化启动
  • 服务运行期间无法和leader保持连接

一、选举流程

假设集群中有5个服务器 

选举过程分为两种:

1.全新集群选举

a.server1 启动

触发一次选举,server1投给自己一票,但是总共5台服务器未达到半数3台,所以选举无法完成。
投票结果:server1 :1票
状态:server1:LOOKING                                                      

b.server2 启动                                                                                                                                   触发选举,server1和2分别投自己一票,但是server1发现2的id比自己大,就更改选票投给server2,此时未达半数,还是LOOKING状态

投票结果:server1 :0票    server2 :2票

状态:server1:LOOKING     server2:LOOKING

c.server3启动                                                                                                                                   触发选举,server1和2和3分别投自己一票&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值