第六章:Raft 共识算法

第六章:Raft 共识算法

ℹ️
✋🏻😭✋🏻 本章仍在规划和编辑中 ✍️✍️✍️

第五章讨论了复制策略——主从并行、链式复制、多数派写等工程手段。其中多数派写往往依赖一套共识算法,在节点故障、网络分区时仍能选出唯一 Leader、保证日志有序复制。

Raft 正是当前工业界最主流的共识实现之一:Etcd、TiKV、CubeFS Master 等系统都在不同层次上使用了 Raft(或 Multi-Raft)。理解 Raft,是读懂这些系统控制面与复制组行为的关键一步。尤其是在复杂分布式环境下,系统行为的设计和推演,必须建立在深度理解 Raft 算法、工业级 Raft 共识框架的实现上。

Raft 已经成为事实上分布式存储、分布式系统工程师必知必会的内容之一。

然而笔者认为,不应过分神魔化这个经典的共识方法。它应当是我们构建大规模分布式系统的一把锤子。我们的任务仍然是建立认识和合理应用

本章的行文思路仍然是 Head First 的。

  1. 带着紧迫的研发任务去理解整个算法的抽象,而不是上来死抠论文细节。(建立预备知识和概念)
  2. 了解工业级框架暴露给上层的接口和语义。(了解工程上怎么用,非常重要,这直接影响了上层的逻辑设计)
  3. 再深入理解论文的约束和行为规定(能研判系统异常时候,会发生什么)
  4. 深入理解工业级 raft 框架的实现 (braft 等)
  5. 研究工业级项目的使用方式 (etcd, tikv 等)
  6. 笔者主观的几种共识应用模式和套路总结 (纯主观工程经验, claude/gpt 无法直接给出的工程直觉)

本章小节一览