方案与设计说明:本项目为分布式一致性理论的实验验证原型,用于探讨 Raft 状态机与日志快照持久化机制,非已上线商业数据库产品。
项目概述
本项目为探索分布式系统一致性理论而设计的实验与工程验证原型。在节点宕机、网络分区(Network Partition)等网络异常环境下,推演数据强一致性(Linearizable Consistency)与高可用读写逻辑。
核心实现机制
- Raft 状态机与心跳选举:
- 实现 Candidate、Follower、Leader 三种角色状态转换。
- 基于随机超时定时器避免选票瓜分,通过 gRPC 广播
RequestVote与AppendEntriesRPC。
- 日志压缩与快照持久化:
- 当 WAL 日志长度超出阈值时,自动触发快照压缩,截断旧日志并将状态机镜像写入持久化磁盘。
- 只读请求线性一致性保障:
- 引入 ReadIndex 机制,在处理读请求时确认当前 Leader 仍被多数派认可,避免因网络分区导致读取过期的脏数据(Stale Read)。