ZooKeeper的ZAB协议

ZAB协议是为分布式协调服务ZooKeeper专门设计的一种支持崩溃恢复的原子广播协议。

ZAB协议是为分布式协调服务ZooKeeper专门设计的一种支持崩溃恢复原子广播协议

ZooKeeper使用一个单一的主进程来接受并处理客户端的所有事物请求,并采用ZAB的原子广播协议,将服务器数据的状态变更以事物Proposal的形式广播到所有的副本进程上去。

ZAB协议的核心是定义了对于那些会改变ZooKeeper服务器数据状态的事物请求的处理方式,即:

所以事物请求必须由一个全局唯一的服务器来协调处理,这样的服务器被称为Leader服务器,而余下的其他服务器则称为Follower服务器。Leader服务器负责将一个客户端事物请求转换成一个事物Proposal(提案),并将该Proposal分发给集群中所有的Follower服务器。

之后Leader服务器需要等待所有Follower进行正确的反馈之后,那么Leader服务器就会再次向Follower分发Commit消息,表示将前一个proposal进行提交。


  • 发表于 2021-03-31 19:46
  • 阅读 ( 43 )

0 条评论

请先 登录 后评论
热爱技术的小仓鼠
热爱技术的小仓鼠

230 篇文章

作家榜 »

  1. NX小编 1251 文章
  2. 58沈剑 325 文章
  3. 热爱技术的小仓鼠 230 文章
  4. 奈学教育 154 文章
  5. z老师 131 文章
  6. 五十三 58 文章
  7. 李希沅 | 奈学教育 52 文章
  8. 江帅帅 | 奈学教育 32 文章