Raft 协议 Paxos协议 和zk协议的特点和异同
下面从原理、特点、应用场景和异同等角度对比梳理一下 Raft 协议、Paxos 协议和 ZK 协议(Zookeeper 的 Zab 协议):
一、三种协议简介
1. Paxos 协议
- 经典的分布式一致性算法,由 Leslie Lamport 提出。
- 解决“如何在部分节点失效,消息可能丢失/乱序的环境下,所有存活节点就某一变量值最终达成一致”。
2. Raft 协议
- 2013 年提出,设计目标是“同等容错,更易理解实现”。
- 将一致性算法流程拆解成更直观的几个步骤,有明确的 Leader,结构更清晰。
- 工程实现较多(etcd、TiKV、Consul)。
3. ZK 协议(Zab协议)
- Zookeeper Atomic Broadcast,用于 Zookeeper 分布式协调服务的核心一致性协议。
- 专门为主从复制场景优化,并强调顺序一致性和高性能广播。
二、三个协议的主要特点
协议 | 类型 | 角色 | 主要特点 | 容错方式 | 应用典型< |
---|