zookeeper
文章平均质量分 82
hbvfhb
这个作者很懒,什么都没留下…
展开
-
FLE(zab协议的具体实现)和raft的区别
FLE(zab协议的具体实现)和raft的区别下面不管是zab中所说的事务还是raft中所说的log,都用记录代替。1.相同点都可以保证全序(total order)提交记录。leader(不论是否是新选举出来的)包含集群中在任意节点上已提交的记录。即,一条记录在节点A上被提交了,即使节点A已经宕机,那么只有此时集群存在leader,该记录仍然在leader中。注意:2个算法都不能保证选举出来的新leader包含最多(最新)的记录,只能保证一定拥有已提交的所有记录。leader只需要向follow原创 2022-01-05 14:52:57 · 1086 阅读 · 0 评论 -
zookeeper Fast Leader Election(FLE) Recovery数据同步阶段源码分析
zookeeper Fast Leader Election(FLE) Recovery数据同步阶段源码分析1.介绍该阶段主要是leader同步数据给follower,具体见源码分析。2.关键对象Zxid:每一个事务id或者newEpochZxid都可以用Zxid表示,事务id的组成为(epoch|counter),epoch表示发送该事务的leader的currentEpoch,counter从1开始,该leader没发送一个事务就会自增该值;高32位为epoch,低32位为counter。ne原创 2022-01-05 11:36:12 · 691 阅读 · 0 评论 -
zookeeper Fast Leader Election(FLE) leader选举阶段源码分析
zookeeper Fast Leader Election(FLE) leader选举阶段源码分析1.关键对象vote /notification:投票信息,注意vote和notification不一样,但是下面都用vote泛指,因为它们包含的主要内容一样:id;表示该vote是谁投的state ;投出这个vote的节点的状态。proposedLeader ; 表示该vote给谁投(目标节点)。proposedZxid;该节点【内存】dataTree上最大的zxidproposedEpoch原创 2022-01-04 16:02:25 · 468 阅读 · 0 评论