首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ZAB协议

ZAB协议是为分布式协调服务Zookeeper专门设计的一种支持崩溃恢复的原子广播协议。在Zookeeper中,主要依赖ZAB协议来实现分布式数据一致性。...ZAB协议内容 ZAB协议主要有两种模式:崩溃恢复和消息广播。...当服务器启动、或者Leader宕机、或者Leader与绝大多数Follower无法正常通信时,ZAB协议就会进入崩溃恢复模式用来产生新的Leader。...当选举产生新的Leader并且完成数据同步以后,ZAB协议将由崩溃恢复模式转变为消息广播模式。...协议由崩溃恢复模式进入消息广播模式 ZAB和Paxos区别 本质区别在于设计的目的不一样,ZAB协议主要使用来构建一个高可用的分布式数据主备系统,Paxos算法主要是用来解决数据一致性。

90230
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ZooKeeper和ZAB协议

    ZAB协议为ZooKeeper专门设计的一种支持数据一致性的原子广播协议。...ZAB协议 为了保证写操作的一致性与可用性,ZooKeeper在paxos的基础上设计了一种名为原子广播(ZAB)的支持崩溃恢复的一致性协议。...根据ZAB协议,所有的写操作都必须通过leader来完成,leader写入本地日志后再复制到所有的follower节点。...ZAB协议分为广播模式和崩溃恢复模式 leader处理写请求(广播模式)的步骤为: 1.leader为事务请求生成唯一的事务ID(ZXID),ZAB协议会将每个事务Proposal按照ZXID的先后顺序来进行排序和处理...总结 文章一开始演示ZooKeeper的部署和操作给读者一个直观感受,然后介绍了ZooKeeper的ZAB协议和领导者选举原理。

    55140

    ZooKeeper ZAB 协议模式

    ZAB 协议包括两种基本的模式: 崩溃恢复和消息广播。...当服务框架在启动中,或是当 Leader 服务器出现网络中断、崩溃退出或重启等异常情况时,ZAB 协议就会进人恢复模式,然后选举产生新的 Leader 服务器。...当选举产生新的 Leader 服务器,同时集群中已经有过半的机器与该 Leader 服务器完成了状态同步,ZAB 协议就会退出恢复模式。...当一台同样遵守 ZAB 协议的服务器启动后并加人到集群中时,如果此时集群中已经存在一个 Leader 服务器在负责进行消息广播,那么新加入的服务器就会自觉地进人数据恢复模式,找到 Leader 所在的服务器...Leader 服务器在接收到客户端的事务请求后,会生成对应的事务提案并发起一轮广播协议,而如果集群中的其他机器接收到客户端的事务请求,那么这些非 Leader 服务器会首先将这个事务请求转发给 Leader

    34910

    Zookeeper的ZAB协议与Paxos协议区别

    ZAB协议中每个Proposal中都包含一个epoch值,用来代表当前的Leader周期;在Paxos算法中,同样存在这样一个标识(Ballot)二、区别1. 两者的初衷或者 一、联系 1....在ZAB协议中每个Proposal中都包含一个epoch值,用来代表当前的Leader周期;在Paxos算法中,同样存在这样一个标识(Ballot ) 二、区别 1.  ...两者的初衷或者说设计目标不一样 Paxos算法用于构建一个分布式的一致性状态机系统 ZAB算法用于构建一个高可用的分布式数据主备系统 2....ZAB算法存在三个阶段:发现阶段、同步阶段、广播阶段,其中发现阶段等同于Paxos的 读阶段,广播阶段等同于Paxos的写阶段。...推荐大家看一本书《从Paxos到ZooKeeper 分布式一致性原理与实践 》,写的很棒,两个协议都交代的很详细。

    87810

    ZooKeeper原理-paxos算法,ZAB协议

    ZAB原则 就是Zookeeper Atomic Broadcast-zookeeper原子广播协议。 原子:只有成功、失败,没有中间状态; 广播:分布式、多节点的。 消息广播 ?...ZooKeeper消息广播 ZAB 协议的消息广播过程使用的是一个原子广播协议,类似一个 二阶段提交过程(2pc)。...这其中包含一些细节: 1、Leader 在收到客户端请求之后,会将这个请求封装成一个事务,并给这个事务分配一个全局递增的唯一 ID,称为事务ID(ZXID),ZAB协议需要保证事务的顺序,因此必须将每一个事务按照...ZAB协议规定: 确保那些已经在 Leader 提交的事务最终会被所有服务器提交 确保丢弃那些只在 Leader 提出/复制,但没有提交的事务 对此,如果让 Leader 选举算法能够保证新选举出来的...ZABZAB协议在Paxos基础上,ZAB额外添加了一个同步阶段。在同步阶段之前,ZAB协议也存在一个和Paxos读阶段非常类似的过程,即发现阶段。

    1.1K10

    一致性协议ZAB

    因为他是为 Zookeeper 设计的分布式一致性协议! 1. 什么是 ZAB 协议?...ZAB 协议介绍 ZAB 协议全称:Zookeeper Atomic Broadcast(Zookeeper 原子广播协议)。 Zookeeper 是一个为分布式应用提供高效且可靠的分布式协调服务。...ZAB 协议定义:ZAB 协议是为分布式协调服务 Zookeeper 专门设计的一种支持 崩溃恢复 和 原子广播 协议。下面我们会重点讲这两个东西。...消息广播 ZAB 协议的消息广播过程使用的是一个原子广播协议,类似一个 二阶段提交过程。...针对这些问题,ZAB 定义了 2 个原则: ZAB 协议确保那些已经在 Leader 提交的事务最终会被所有服务器提交。 ZAB 协议确保丢弃那些只在 Leader 提出/复制,但没有提交的事务。

    57930

    zookeeper知识结构2-zab协议

    以及zookeeper内部数据结构,选举机制 zab定义 ZAB全称ZooKeeper Atomic Broadcast protocol ZooKeeper原子广播协议,实现了主备模式下的系统架构,保持集群中各个副本之间的数据同步...如果预存储锁被撤销,则返回失败 当超过半数返回预存储成功,刚发送存储指令给所有dispatche,并写入自己的存储队列 当收到存储队列,将数据写入自己存储队列中 ZAB详细 有了上面的原型,理解其它的具体协议就会轻松很多...,在具体实现时,都会看到原型中的概念 ZAB协议是为分布式协调服务 Zookeeper 专门设计的一种支持 崩溃恢复 和 原子广播 协议 ZAB协议定义了选举(election)、发现(discovery...实现中 zxid 是一个 64 位的数字 它高32 位是 epoch(ZAB 协议通过 epoch 编号来区分 Leader 周期变化的策略)用来标识 leader关系是否改变,每次一个 leader...总结 通过对原子广播原型的理解,更容易理解zab,对于paxos也一样 当然zab还有很多的细节,还能再深入,挖出很多知识点。

    65120

    分布式学习十:ZAB协议

    ZAB协议 ZAB 协议是为分布式协调服务ZooKeeper专门设计的一种支持崩溃恢复的原子广播协议。...ZAB协议的开发设计人员在协议设计之初并没有要求其具有很好的扩展性,最初只 是为雅虎公司内部那些高吞吐量、低延迟、健壮、简单的分布式系统场景设计的。...在 ZooKeeper的官方文档中也指出, ZAB协议并不像Paxos算法那样,是一种通用的分布式一致性算法,它是一种特别为ZooKeeper设计的崩溃可恢复的原子消息广播算法。...总结来说,ZAB 协议就是:"主备一致性","消息广播","崩溃恢复" 流程 所有节点都会在3个状态中转换: 1:选举leader/崩溃恢复(leader宕机重新选举) 2:消息广播 (leader接收消息广播给

    35330

    ZAB协议和一些思考

    在《ZooKeeper的作用、应用场景和替代品》中已对 ZooKeeper 进行了介绍,知道了 ZooKeeper 是通过 主从模式 + ZAB 协议 解决单点问题,其中 ZAB 协议是保证分布式一致性的关键...本文将进一步讨论 ZAB 协议和一些问题的思考。 ZAB 协议 ZAB(ZooKeeper Atomic Broadcast,ZooKeeper 原子消息广播协议),其作用在于保证主从节点的一致性。...下面看下 ZAB 协议是如何在主从模式下工作的,主要有两个阶段:消息广播和崩溃恢复。...思考 这部分是笔者在学习 ZAB 协议中思考的几个问题。 (1)在广播消息阶段,为什么是要求收到半数以上的 ACK 响应则可提交?...由于 ZAB 的过程,我们可以知道不一定是最新的。

    58130

    Zab协议详解-分布式系统(六)

    什么是Zab协议Zab协议 的全称是 Zookeeper Atomic Broadcast (Zookeeper原子广播)。...Zab 协议的特性: 1)Zab 协议需要确保那些已经在 Leader 服务器上提交(Commit)的事务最终被所有的服务器提交。...Zab协议原理 Zab协议要求每个 Leader 都要经历三个阶段:发现,同步,广播。...事务请求处理 Zab协议内容 Zab 协议包括两种基本的模式:崩溃恢复 和 消息广播 协议过程 当整个集群启动过程中,或者当 Leader 服务器出现网络中弄断、崩溃退出或重启等异常时,Zab协议就会...zab协议进入崩溃恢复模式会做什么? 1、当leader出现问题,zab协议进入崩溃恢复模式,并且选举出新的leader。

    3.1K50

    zookeeper核心之ZAB协议就这么简单!

    背景 我们都知道 Zookeeper 是基于 ZAB 协议实现的,在介绍 ZAB 协议之前,先回顾一下 Zookeeper 的起源与发展。 Zookeeper 究竟是在什么样的时代背景下被提出?...Zookeeper应该具备的特性 在 ZAB 协议的开发设计人员在协议设计之初并没有要求 ZAB 具有很好的扩展性,最初只是为了雅虎公司内部哪些高吞吐量、低延迟、健壮、简单的分布式系统场景设计的。...这种前后依赖的顺序也对 ZAB 协议提出了一个要求:ZAB 协议需要保证如果一个状态的变更被处理了,那么所有其依赖的状态变更都已经被提前处理了。也就是需要顺序执行。...这就简单阐述了ZAB 协议中消息广播模式的部分内容。 ZAB协议的两种模式 ZAB 协议的包括两种模式:崩溃恢复、消息广播。 既然有两种模式,那 Zookeeper 集群什么时候进入奔溃恢复模式?...ZAB协议和Paxos算法的区别 ZAB协议看起来和Paxos有着相同之处,但它并不是Paxos的典型实现,其实还是有一些区别,ZAB协议中额外添加了一个同步的阶段,两者设计目标也不太一样,ZAB协议主要用于构建一个高可用的分布式数据主备系统

    52341

    深入浅出 Zookeeper 中的 ZAB 协议

    之前分布式协议的文章已经更新 8 篇了,本篇是第 9 篇,探讨下 Zookeeper 中非常出名的 ZAB 协议。...本文主要内容如下: ZAB 协议的全称是 Zookeeper Atomic Broadcase,原子广播协议。 作用:通过这个 ZAB 协议可以进行集群间主备节点的数据同步,保证数据的一致性。...在讲解 ZAB 协议之前,我们必须要了解 Zookeeper 的各节点的角色。 Zookeeper 各节点的角色 Leader 负责处理客户端发送的读、写事务请求。...两阶段提交协议: 第一阶段:Leader 先发送 proposal 给 Follower,Follower 发送 ack 响应给 Leader。如果收到的 ack 过半,则进入下一阶段。...ZAB 的顺序一致性怎么做到的? Leader 发送 proposal 时,其实会为每个 Follower 创建一个队列,都往各自的队列中发送 proposal。

    45910
    领券