Skip to content

Zh Architecture

david edited this page Jul 18, 2026 · 3 revisions

架构

English: Architecture

完整说明见:docs/ARCHITECTURE.zh-CN.md · English

定位

撮合专用薄 Multi-Raft:每交易对一个 Raft Group(GroupId ↔ symbol),节点间连接复用,FSM 可插拔。共识栈为 openraft + openraft-multi(精确锁版本)。

不厚 fork TiKV raftstore(无 Region split/merge / PD)。

Crate 地图

multiraft-core   → 共享类型 / 错误 / ClusterConfig
multiraft-net    → MultiRaft 门面 + 共享 gRPC / in-process Router
multiraft-fsm    → StateMachine trait(apply / snapshot / restore)
multiraft-store  → 每 Group 文件持久化
multiraft-demo   → 3 节点 × N Group 验收与 Jepsen 靶

拓扑

Admin HTTP(每节点)     Raft gRPC(共享连接,O(nodes))
        │                         │
   node-1 / node-2 / node-3  ←── 多 Group 同进程
  • --mode node:一进程一 Raft 节点(跨进程)
  • --mode cluster:进程内 3 逻辑节点(快测)

一致性(每 Group)

API 承诺
propose Ok Linearizable 写
read_linearizable Linearizable 读(ReadIndex)
with_fsm 本地 / 可能 stale(仅调试)

组间无事务。详见 一致性与测试 · jepsen.zh-CN.md · English。

下游集成(二期,目标)

撮合进程 / 入站壳(仅 Leader 消费 RMQ)
  → multiraft propose
  → FSM → 撮合引擎 FSM

相关设计

Clone this wiki locally