zookeeper---数据同步

本文介绍了Zookeeper在选举完成后,Leader与Follower的数据同步过程,确保集群中每个节点的数据一致性。详细阐述了同步的交互步骤,包括接受主进程周期、发送反馈消息以及处理异常情况。同时解释了acceptEpoch与currentEpoch的区别,并讨论了follower短暂故障后的处理策略。
摘要由CSDN通过智能技术生成

zookeeper选举完成后,leader会与follower进行数据同步,保证每个节点的数据保证一致。

一、交互过程

       集群的follower节点与leader节点会首先建立网络链接,然后会确定主进程周期和同步日志操作,交互过程如下,箭头方向表示时间方向。

数据同步交互过程

1、follower发送类型为followerInfo的数据到leader节点,内容包括自己的acceptEpoch、sid以及协议版本等信息。acceptEpoch表示接收的主进程编号,它与currentEpoch略有不同。acceptEpoch是在数据同步时确定的,如果同步失败,这个值可能变化多次,而currentEpoch在这个阶段并不会随着acceptEpoch变化。

2、leader节点接收followerInfo数据,只要收到过半的消息便可认为得到了最大的主进程周期。

3、对这个主进程周期加一得到新的周期号。

4、leader节点向follower节点发送leaderInfo消息,zxid是使用新的主进程周期得到的id。

5、follower节点收到leaderInfo后,解析得到新的主进程周期,并重新设置自己的acceptEpoch。

6、设置完成后,follower节点会向leader节点发送反馈消息ackEpoch,表明自己已经成功收到

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值