知识卡片

Raft围绕日志复制

普通读书笔记卡 · 1726

内容

Raft 把复制状态机问题具体化为复制日志:leader 追加 entry,复制到多数后提交,再让各节点按相同顺序应用。发散:相比 Paxos 的抽象共识,Raft 用日志、任期和 leader 让工程实现更容易对齐。

参考来源

- 位置:《分布式系统与一致性》第11章《复制日志算法Raft》"11.1 Raft是复制日志的算法"及日志复制流程一节(源文件:_epub-src/OEBPS/Text/chapter15.xhtml) - 结论依据:原文明确"复制状态机的核心问题就变成了让每个节点都具有相同的日志的问题……这个问题也被称为复制日志(replicated log)问题",并说明"leader会将新entry记录到日志的最后……并行向所有的follower发起AppendEntries RPC……在leader处理下一个客户端的请求时……带上committed状态的entry的index,follower……将这个entry应用到状态机中"。 - 原始内容:Raft就是用来实现复制日志的一种算法,该算法会:生成一条日志。把这条日志复制到所有节点上。把日志的entry应用到状态机上……leader在完成append操作后,会并行向所有的follower发起AppendEntries RPC……当leader处理下一个客户端的请求时……follower将下一个entry追加到日志中,同时会将这个entry应用到状态机中。