ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Zookeeper的数据一致性原理

2021-02-19 13:02:49  阅读:161  来源: 互联网

标签:机器 Zookeeper 收到 follower path 一致性 原理 提案 leader


zookeeper

  • 命令
create [-s] [-s] path data acl
get path [watch]
set path data [version]
delete path [version]
ls patch [watch]
rmr path
stat path [watch]
  • 数据一致性

leader选举时机

​ 集群启动;

​ leader宕机;

​ follower挂掉后leader发现已经没有过半的follower跟随自己,不能对外提供服务;

leader选举机制

机器先给自己投票,然后发投票信息在没有收到发送投票信息的反馈时,一直处于looking选举状态,其他机器会收到之前机器所发过来的投票消息,如果一旦所收到的票数过半,那么则成为leader,其他机器成为follower,即使后续机器同样会收到其他机器发过来的投票信息,甚至会比leader的票数多,那么也是不会成为leader的。

  • Zab协议

1、ZAB(Zookeeper Atomic Broadcast) 协议是为分布式协调服务zookeeper专门设计的一种原子广播协议。

2、Leader负责处理写入请求

3、广播通知Follower节点

  • Zab协议的两阶段提交流程

1、leader收到写入请求,会把请求组成一个提案,以提案的形式发送给follower节点,follower节点收到提案后,就会受理,且暂时不会生效,会进行资源预留、资源判定,如果成功,则会通知leader写入请求可以成功,

2、leader收到半数以上的follower的反馈信息之后,leader会下发生效提案广播信息

  • Zab是顺序一致性

1、连续的事务ID

ZXID

​ 前32位表示任期,意思是在一致性状态下处于任期状态,重新选举会修改这个数值。

​ 后32位标识事务id,任期内如果有事务那么会进行自增操作。

2、Leader会根据zxid严格控制提案的生效顺序。未生效的提案会存放到map中,key就是zxid。

标签:机器,Zookeeper,收到,follower,path,一致性,原理,提案,leader
来源: https://blog.csdn.net/Zaric_001/article/details/113861534

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有