0


手把手教你看懂zookeeper的选举过程

小白都能看懂Zookeeper的选举过程

1.前提知识要点

正式版

  1. ZAB协议:Zookeeper是非常重要的分布式协调组件,需要进行集群部署,
  2. 集群中会以一主多从的形式进行部署。Zookeeper为了保持数据的一致性,
  3. 使用了ZAB协议,这个协议解决了Zookeeper的崩溃恢复和主从数据同步的问题

人话版

  1. ZAB:zookeeper是非常重要的分布式协调组件,需要通过集群来部署运作,
  2. 因为部署了很多台服务器,所以需要一个领袖来做领导人,如果没有领导人来统一指挥
  3. ,那么就容易乱套,因为每台服务器都可以发号施令,那么整个集群该听谁的?
  4. 所以就需要通过ZAB协议来进行协调,选举出一个领导人,
  5. 任何对数据产生影响的操作都得有Leader来进行发号施令,从而解决主从数据同步和集群的崩溃恢复问题
  6. 补充:事务性操作是指对数据的增删改,不包括查,因为查并不会对数据本身产生影响

zookeeper简图

在这里插入图片描述

2.选举过程

知识点

  1. 1:当集群中的节点首次上线的时候,会进行leader选举,并且这个选举结果一直有效,
  2. 直到leader宕机了,才会产生新的leader
  3. 2:在选举过程中,只要票数占到总服务器的一半以上,那么便会直接当选为leader
  4. 后续的服务器自动成为follower
  5. 3.:选举过程中,一开始服务器都是把票投给自己,但随着服务器的开启数量增加,
  6. 会产生一个该票过程,该过程我会通过画图详细说明

第一次选举简图

在这里插入图片描述

  1. 第一次选举: 每个服务器都会把票投给自己,此时无法选出leader,那么就会产生第二次选举。

第二次选举简图

在这里插入图片描述

  1. 注释
  2. 1:经过第一次的选举,每个服务器的投票箱中都有了一票。那么大家平票无法选出Leader,
  3. 则需要进行第二次选举
  4. 2:第二次选举,首先要进行选票的交换,大家互相比值,谁的值大,谁的票就会被投出去,
  5. 从而进入到投票箱中。
  6. 3:当投票箱中,某个服务器的得票超过总服务器的一半,那么该服务器就成为leader
  7. 其他服务器自动成为follower

本文转载自: https://blog.csdn.net/weixin_48644768/article/details/127087837
版权归原作者 大数据学编程 所有, 如有侵权,请联系我们删除。

“手把手教你看懂zookeeper的选举过程”的评论:

还没有评论