Zookeeper的工作原理

目录

zk的选举机制

zk的集群个数为啥最好是奇数个?

zk的节点类型

zk的监听器原理

向zk集群中注册服务的原理


 

zk的选举机制

 

我们已经知道只有zk集群半数以上处于正常启动时,zk才会提供服务。现在让我们来说说zk的选举机制。

假设有zk集群中有5台服务器。id为1-5,如果它们都同时启动,选举机制是怎么产生leader和follower的呢? 

1.即使同时启动,总有一个是最先启动成功的。这台服务器假设编号为1,此时它检测到集群中没有半数以上的服务器启动,此时它的选举状态是LOOKING(代表寻找leader的状态)。

2.紧接着启动的是2,它与最开始的1进行通信,互相交换自己的选举结果。由于两者都没有历史数据,所以id值较大的2胜出,但由于没有达到半数以上的服务器统一选举他。因此1和2都继续保持着LOOKING状态。

3.然后服务器3也启动了,根据前面的理论,3成为了1,2,3中的老大,此时3台服务器都选举了它,leader诞生了!

4.第4个服务器启动时,因为老大已经诞生了,所以即使id编号更大,4也只能作为小弟

5.最后一个服务器启动原理也和4一样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值