分布式系统 11:论断—证据—核验状态 访问日期:2026-09-19。SOURCE_CROSSCHECK 表示文献/源码独立核对;MODEL_LOCAL 表示有限进程内教学执行;不等于真实集群端到端验证。 R1 Diego Ongaro / John Ousterhout, In Search of an Understandable Consensus Algorithm (Extended Version), published May 20, 2014. https://raft.github.io/raft.pdf 已读 Figure 2、§5.2、§5.4.1–5.4.3。支持 C1 任期/角色转换、C2 currentTerm/votedFor/log 的持久状态与响应前保存、C3 一term一票和多数交集、C4 日志(lastLogTerm,lastLogIndex)字典序、C5 Election Safety 不等于 Leader Completeness 完整证明。 父代理独立读取 Figure 2、§5.4.1、§5.4.3 并确认。SOURCE_CROSSCHECK。 R2 Diego Ongaro, Consensus: Bridging Theory and Practice, Stanford dissertation, 2014. https://github.com/ongardie/dissertation https://raw.githubusercontent.com/ongardie/dissertation/master/basicraft/consensus.tex 已读作者 LaTeX 源基础算法、Election restriction、Safety argument。支持 C1/C3/C4/C5。 Stanford/ramcloud/raw online.pdf 浏览失败,未声称通读整本论文PDF。master是访问日滚动来源,不是2014固定字节版。SOURCE_CROSSCHECK。 R3 同论文 Chapter 9,Leader election;§9.6 Preventing disruptions when a server rejoins the cluster。 https://raw.githubusercontent.com/ongardie/dissertation/master/leaderelection/leaderelection.tex https://raw.githubusercontent.com/ongardie/dissertation/master/leaderelection/prevote.tex 支持 C6 随机超时的概率/及时性条件,不在任意异步调度下提供确定期限;C7 PreVote 是实际增term前预询问的扩展。已读源章节。DOC_ONLY,不复述历史性能值。 R4 MIT 6.5840/6.824 Raft lectures,2026课程站当前访问文件(未据此认定每段于2026修订)。 https://pdos.csail.mit.edu/6.824/notes/l-raft.txt https://pdos.csail.mit.edu/6.824/notes/l-raft2.txt 选举部分与 persistence 部分支持 C1/C2/C3。重点:多数取完整配置;旧leader可能仍活着;votedFor防止重启后同term再投另一候选。SOURCE_CROSSCHECK。未阅读或复刻课程作业答案。 R5 etcd-io/raft v3.6.0,raft.go,固定标签。 https://github.com/etcd-io/raft/blob/v3.6.0/raft.go 局部已读 Config CheckQuorum/PreVote、send、becomePreCandidate、campaign、Step、stepCandidate、stepLeader。 支持 C7 实现扩展边界:预候选不直接改Term/Vote;自投票在持久化后计入;CheckQuorum下的leader租期分支与预投票消息使高term处理有例外;未观测活跃多数会降级。 DOC_AND_SOURCE_ONLY,未运行此库或etcd服务,未审计WAL/集成/读保证。 R6 作者 Updates and Errata,滚动页面。 https://github.com/ongardie/dissertation#updates-and-errata R7 Diego Ongaro, Safety of Raft single-server membership changes,作者修订说明,未从页面推断固定出版日期。 https://gist.github.com/ongardie/a11f32b70581e20d6bcd 支持 C8 lastApplied易失性须与状态机存储匹配;单节点成员变更修补涉及新配置前当前term提交条件。与本篇固定成员选举区分。 反向查询作者勘误、election/votedFor/prevote相关修订;未发现本次来源推翻静态成员多数交集证明,不据此宣称不存在其他缺陷。 C9 原创有限调度及检查器。 examples/distributed-systems/raft/election.go、raft11/main.go。 6组正常场景(其中split枚举27种决定、log合成6组元数据、persistence两个崩溃切点);race与vet实际执行通过。 丢votedFor变异位于驱动存储适配器;独立历史检查器同时发现double-vote和two-leaders,单独变异命令非零。MODEL_LOCAL,原始输出见verification.txt。 未覆盖:真实网络/进程故障、磁盘持久性、无限调度活性、完整日志可达性与提交安全、heartbeat、etcd运行、Go1.23最低版本单独运行。 图示3张:本篇核心角色转换、保存完成后释放投票回复、分区期间不同term角色并存与恢复。均为机制图,不是运行截图。 写作流程:实际读取blog-illustrator/blog-editor及修改流程;正文临时稿/private/tmp/ds11-draft.md。 落盘前依次执行 anti-ai-tone(tech,4434汉字,0 error / 0 warning,人工材料/推进/节奏/连续性检查)→ anti-persona-fabrication(词检0命中,人工第一人称/拟人化/说书腔与图注复核)。 父已独立只读审阅核心、驱动及完整临时正文,未发现阻塞问题;另独立运行 go run -race ./raft11 全场景 exit0。最终图形与全站构建待父统一验收。本执行者不提交、推送或构建。