0


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

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

1.前提知识要点

正式版

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

人话版

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

补充:事务性操作是指对数据的增删改,不包括查,因为查并不会对数据本身产生影响

zookeeper简图

在这里插入图片描述

2.选举过程

知识点

1:当集群中的节点首次上线的时候,会进行leader选举,并且这个选举结果一直有效,
直到leader宕机了,才会产生新的leader。

2:在选举过程中,只要票数占到总服务器的一半以上,那么便会直接当选为leader,
后续的服务器自动成为follower

3.:选举过程中,一开始服务器都是把票投给自己,但随着服务器的开启数量增加,
会产生一个该票过程,该过程我会通过画图详细说明

第一次选举简图

在这里插入图片描述

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

第二次选举简图

在这里插入图片描述

注释
1:经过第一次的选举,每个服务器的投票箱中都有了一票。那么大家平票无法选出Leader,
则需要进行第二次选举

2:第二次选举,首先要进行选票的交换,大家互相比值,谁的值大,谁的票就会被投出去,
从而进入到投票箱中。

3:当投票箱中,某个服务器的得票超过总服务器的一半,那么该服务器就成为leader,
其他服务器自动成为follower

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

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

还没有评论