Raft 如何确保复制的日志保持一致?
先说出你的答案
定义边界、关键机制、一个反例;P8题再补容量、失败与验证。
查看完整题解
参考回答
直接回答
领导者附加日志时会带前一条日志的位置与任期。跟随者只有在前缀匹配时才继续追加,否则拒绝,由领导者往前找匹配的位置再重试。
讲清原理
任期和索引帮双方找到最后一致的前缀。可以覆盖未提交的冲突后缀。多数派交叉和选举时的日志新旧限制用于保护已提交记录。
例子与易错点
跟随者在索引 10 有旧任期条目,领导者先找到共同的索引 9,再复制自己的后缀。已经提交的前缀不会这样被舍弃。
延伸阅读 Raft 的 CommitIndex 和 AppliedIndex 差在哪? · etcd 怎么用 Raft 保证写入的强一致性? · Raft 的 Follower 怎么追上 Leader?
和评分标准对照,你能独立回答到哪一步?
自评会安排下一次复习,不保存你的口述内容。
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。