zab协议

作者: husky_1 | 来源:发表于2022-02-15 13:57 被阅读0次
ZAB:

zookeeper Atomic Broadcast(zookeeper 原子广播),支持崩溃恢复 ;zookeeer 通过zab 协议来保证分布式事务的最终一致性

基于zab 协议,zookeeper 集群中有如下几个角色

j角色 描述
领导者(leader ) 负责投票的发起和决议,更新系统状态
学习者(learner) 包括两个 1.跟随者(follower):接收客户端请求并返回结果,参与决议的投票; 2.观察者(observer):接收客户端请求并返回结果,但是不参与决议的投票,可理解为特殊的跟随者
客户端 (client) 求发起方

协议解析:

1. leader节点的选举机制:

在集群中,只有一个leader 节点, 并且通过快速领导者选举机制选举产生:
参考 [https://www.jianshu.com/p/9a325551f02c] zookeeper选举机制

2. 运行流程
运行流程
  • . 客户端发起一个请求( 写,更改操作)给服务器,如果接受的服务器为follower 节点, 会转发给leader节点
  • . leader 节点接收到 请求后,会转化为事务proposal 提案, 并为每个prososal 分配一个全局的id , 即zxid
  • . leader 会为每个follower 节点分配一个队列(先进先出),并将proposal 发送到队列中去
  • . follower 节点接收对应的proposal ,将以事务日志的方式写入磁盘,成功后发送ack 应答给leader 节点
  • . leader 节点收到半数以上节点的ack 应答后,即认为消息发送成功,发送commit给follower 节点
  • . leader 节点广播发送commit 消息给follower, 自身也进行事务的提交,follower 接受commit 消息进行事务的最终提交

在上述的流程中主要包括如下:
a . follower ack 应答机制
对于leader 发出的提案, follower 接收到后都要做出ack 应答, 当leader 节点收到半数以上的follower ack ,此时提案才会到后续的最终commit

b . 2pc, 两阶段提交
-. 预提交(发起提议): leader 节点发起 proposal
-. follower ack 应答
-. 最终提交: leader 节点收到半数以上的ack 应答,才会发送最终的commit

相关文章

  • Zookeeper——一致性协议:Zab协议

    什么是Zab协议 Zab 协议的作用 Zab 协议原理 Zab 协议核心 Zab 协议内容 消息广播 崩溃恢复 如...

  • Zookeeper ZAB协议

    什么是Zab协议 Zab 协议的作用 Zab 协议原理 Zab 协议核心 Zab 协议内容 原子广播 崩溃恢复 如...

  • zookeeper zab协议(二)

    zookeeper zab协议 zab协议概述 ZAB 协议是为分布式协调服务 ZooKeeper 专门设计的一种...

  • Zookeeper之ZAB协议

    Zookeeper Atomic Broadcast(ZAB,zookeeper原子消息广播协议)。ZAB 协议是...

  • Zookeeper ZAB协议分析

    1. ZAB协议 ZAB协议(Zookeeper Atomic Broadcast Protocol)是Zooke...

  • ZAB协议理解参考

    ZAB协议概要 一) ZAB协议是专门为ZooKeeper实现分布式协调功能而设计。ZK主要是依据ZAB协议来实现...

  • ZAB协议要点

    ZAB(ZooKeeper Atomic Broadcast)协议是ZooKeeper的核心协议。 ZAB有哪些阶...

  • Zookeeper ZAB协议

    [TOC] 什么是Zab协议? Zab协议 的全称是 Zookeeper Atomic Broadcast (Zo...

  • zookeeper随笔 - 一致性及选举算法

    zookeeper保持数据一致性是通过Zab协议实现的。 ZAB协议 ZAB全称是Zookeeper Atomic...

  • ZAB协议介绍1

    ZAB协议介绍 ZooKeeper服务的内部通信基于ZAB协议,即ZooKeeper Atomic Broadca...

网友评论

      本文标题:zab协议

      本文链接:https://www.haomeiwen.com/subject/esiklrtx.html