加载中...
Raft 是一种用于管理复制日志的分布式一致性算法,由斯坦福大学的 Diego Ongaro 等人提出。它以易于理解为设计目标,通过领导者选举和日志复制在多副本系统中保证数据一致,被 etcd、TiKV 等系统广泛采用。

| 类型 | 分布式一致性算法 |
| 提出者 | Diego Ongaro 等 |
| 提出时间 | 2014 年 |
| 核心机制 | 领导者选举与日志复制 |
| 决策原则 | 多数派 |
Raft 是一种用于分布式系统的共识(一致性)算法,由斯坦福大学的 Diego Ongaro 和 John Ousterhout 提出。它的核心目标是在多副本系统中就一系列操作达成一致,并且以易于理解和实现为首要设计原则,因而成为工程实践中最流行的一致性算法之一。
Raft 将复杂的一致性问题分解为几个相对独立的子问题:领导者选举、日志复制和安全性。集群中的每个节点处于领导者、跟随者或候选者三种状态之一。同一时刻至多有一个领导者,负责接收客户端请求并将日志条目复制到其他节点,只有当多数节点确认后,日志才被提交并应用,从而保证一致性。
Raft 被广泛用于需要强一致性的分布式协调与存储系统中,如分布式键值存储的元数据管理、配置中心和分布式数据库的副本同步。许多知名系统采用 Raft 来保证在节点故障时数据不丢失且各副本状态一致。
问:Raft 和 Paxos 有什么区别?答:两者都解决分布式一致性问题,Paxos 理论奠基但难以理解和工程化,Raft 在保证等价能力的同时更强调可理解性和易实现,因此在工程界更受欢迎。
问:Raft 集群一般需要几个节点?答:通常部署奇数个节点(如三或五个),以便在多数派表决时避免平票,并能容忍少数节点故障。

| 类型 | 分布式一致性算法 |
| 提出者 | Diego Ongaro 等 |
| 提出时间 | 2014 年 |
| 核心机制 | 领导者选举与日志复制 |
| 决策原则 | 多数派 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧