ZAB 协议 与 Raft协议 比较

本文对比分析了ZAB协议与Raft协议在分布式系统中的应用,重点讨论了领导者选举、日志复制、读写操作和一致性等方面。Raft协议选举更快,消息数更少,设计更为简洁,而ZAB协议与ZooKeeper紧密耦合,有数据同步的冗余阶段。两者都在追求一致性与可用性间的平衡,但Raft更易理解和实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们不仅要在平时工作和学习中,认真、全面的学习理论,掌握概念的内涵,还要能“包容”和“发展”着理解技术。

随着分布式的发展,对应的算法也在不断的演进。这里是学习了极客时间的一个专栏中,从中总结的关于ZAB协议与Raft协议之间的一个比较笔记总结。

ZAB 是通过“一切以领导者为准”的强领导者模型和严格按照顺序处理、提交提案,来实现操作的顺序性的。主节点是基于 TCP 协议来广播消息的,并保证了消息接收的顺序性。出来的比较早。

Raft协议是Raft协议就是一切以领导者为准的方式,实现一系列值的共识和各节点日志的一致性。通过日志的连续性来保证消息或者说是数据的顺序性以及完整性。Raft协议中日志不仅是数据的载体,同时,日志的完整性还会影响领导者选举的结果(注:选举的因素不仅仅只有日志的完整性来保证,还有任期等其他因素)。

Raft目前是工程上使用较为广泛的强一致性、去中心化、高可用的分布式协议。在这里强调了是在工程上,因为在学术理论界,最耀眼的还是大名鼎鼎的Paxos。如果想深入了解可以阅读:Raft 协议原理详解

Raft是作为共识算法和 Multi-Paxos 算法提出的。当它被广泛接受和认可后,共识算法的内涵也就丰富和发展了,不仅能实现一系列值的共识,还能保证值的顺序性。同样,Multi-Paxos 算法不仅指代多次执行 Basic Paxos 的算法,还指代主备、强领导者模型的共识算法。

从上面我们可以看出Raft 算法和 ZAB 协议很类似,比如主备模式(也就是领导者、跟随者模型)、日志必须是连续的、以领导者的日志为

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值