Zookeeper的ZAB协议与Paxos协议区别

一、联系 
1. 两者构建的系统都有一个Leader角色,Leader进程负责协调多个Follower进程的运行 
2. Leader进程都会等待超过半数的Follower进程做出正确的分亏后,才会将一个提案进行提交 
3. 在ZAB协议中每个Proposal中都包含一个epoch值,用来代表当前的Leader周期;在Paxos算法中,同样存在这样一个标识(Ballot ) 

二、区别 
1.  两者的初衷或者说设计目标不一样 
Paxos算法用于构建一个分布式的一致性状态机系统 
ZAB算法用于构建一个高可用的分布式数据主备系统 

2. 流程上有区别 
Paxos算法,选举出一个新的Leader进程需要进行两个阶段。 
第一个阶段是读阶段,这个阶段中,这个新的主进程会通过和其他 所有其他进程进行通信的方式收集上一个主进程提出的提案,并将它们提交。
第二个阶段是写阶段,这个阶段中,当前主进程Leader开始提出它自己的提案。 

ZAB算法存在三个阶段:发现阶段、同步阶段、广播阶段,其中发现阶段等同于Paxos的 读阶段,广播阶段等同于Paxos的写阶段。 

同步阶段是ZAB算法新添加的,在同步阶段,新的Leader会确保存在过半的Follower已经提交了之前Leader周期中的所有事务Proposal。 
同步阶段的引入,能够有效地保证Leader在新的周期提出事物Proposal之前,所有的进程都已经完成了对之前所有事务的提交。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值