Rust 最小可行 MQ 架构实现指南
- 目标与范围
- 协议与语义设计
- 进程内并发模型(多连接之本)
- 路由与订阅(Exclusive / Queue / Fanout / Key-Shared)
- 存储子系统(WAL、段文件、索引、回放)
- 传输层与背压(Push/Pull、信用窗口、ACK/重投)
- 可靠性路径(至少一次、幂等、事务与EOS的权衡)
- 可观测性与故障处置
- 操作系统与部署调优
- 压测与基准方法
- 与主流 MQ 的实现对照
- 演进路线图
1) 目标与范围
- 单机 MVP:1 个 Broker,支持多 Topic;支持 海量长连接、高吞吐、可控时延。
- 语义:默认 At-least-once(至少一次),以业务幂等保证最终一致。
- 持久化:WAL 追加日志 + 分段(segment);保留策略可按时间/大小。
- 路由:Topic → Shard(分片);订阅支持 Exclusive/Queue/Fanout,可选 Key-Shared。
- 传输