Raft 安全性与成员变更
2026/8/22大约 2 分钟
分布式事务系列 · 阶段 5 · 共识算法 · 第 42/49 篇 · 🚧 占位待学
上一篇:《Raft 日志复制与提交规则》
下一篇:《工程锚点 etcd:亲眼看一次选主》
学习大纲:《分布式事务学习总纲》
状态:待学习。 本文为占位文档:知识点清单、实验与验收标准已就绪,正文待按「先学习、先实验、再撰写」补全。
对应总纲单元:阶段 5.2 · 单元 5.2.4
一、本文要解决的问题
哪些「坏例子」会破坏已提交日志不丢的承诺?选举限制为什么必要?成员变更的双多数问题怎么解?
二、知识点清单
- 选举限制:只有拥有最新日志的候选人可当选
- CurrentTerm 检查:防止旧任期的日志被「间接」误提交(坏例子推演)
- Leader 完整性:已提交条目出现在之后所有 leader 的日志里
- 成员变更:联合共识(joint consensus)与单节点变更
- 快照与日志压缩(了解)
三、动手实验(学习时必须真跑)
- 推演「旧任期日志被误提交」的坏例子,写出没有安全条款时会发生什么
四、验收标准(全部通过才进入下一篇)
五、写作提示(补正文时遵守)
- 开篇问题驱动;结构走「是什么 → 为什么 → 怎么做 → 背景知识」
- 所有代码、命令、输出必须先在本机跑通再写入,不得杜撰
- 版本口径以总纲环境清单为准(Apache Seata 2.6.0 / MySQL 8.0 / RocketMQ 5.x / Spring Boot 3.x)
- 涉及版本敏感结论时标注出处与时间
本篇完成后,把文首导航块的「🚧 占位待学」去掉,并在总纲处打卡。