Skip to content

raftpp 文档

raftpp 是一个以 C++17 实现的 RAFT 共识库,提供核心状态机、Raftor 高层编排、WAL、RPC 传输和示例工程。

  • 项目结构与组件分层
  • 构建方式与最小接入流程
  • StateMachineRaftor 的使用说明
  • RaftorConfigRawNode 的参考信息
  • minimal_nodekvstore 示例说明
  • 完整的 RAFT 状态机实现,包括选主、日志复制、成员变更和快照。
  • 线性一致读,支持 SafeLeaseBased 两种模式。
  • 可插拔的存储和传输边界,内置 WAL、内存存储和 Cap’n Proto RPC。
  • 面向业务接入的高层 API,以及面向底层集成的 RawNode 接口。
┌─────────────────────────────────────────────────────────────┐
│ 你的应用 / 状态机 │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ Raftor │
│ 高层编排:生命周期、事件循环、提案、读索引、成员变更 │
└─────────────────────────────────────────────────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Transport │ │ RawNode │ │ WAL │
│ RPC │ │ Raft Core │ │ Storage │
└─────────────┘ └─────────────┘ └─────────────┘
  1. 阅读项目概览,了解组件边界和目录结构。
  2. 阅读快速开始,完成构建并运行最小示例。
  3. 阅读状态机开发Raftor 使用,完成业务接入。
  4. 需要底层控制时,查阅RawNode 参考