zookeeper---数据同步

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,表明自己已经成功收到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值