跳到主要内容
APACHE ROCKETMQ 架构 - RUST 实现 - 异步运行时

RocketMQ-Rust

使用 Rust 构建的高性能分布式消息中间件

RocketMQ-Rust 将 Apache RocketMQ 成熟的消息模型带到 Rust:Producer 发送消息到 Broker,NameServer 提供路由,CommitLog 持久化数据,Consumer 通过异步、类型安全的 API 处理消息。

Producerbatch sendNameServerroute tableConsumerpull consumeCommitLogdurable storeBrokerdispatch queueMQrust core
00路由查找
01Producer 发送
02Broker 写入
03CommitLog 刷盘
04Consumer 拉取
05Offset 提交
NameServer路由发现
Broker写入与分发
CommitLog持久化存储
Rust Client生产与消费
ROCKETMQ-RUST 核心能力

Apache RocketMQ 消息架构的 Rust 实现

R
内存安全核心

Rust 语言优势

RocketMQ-Rust 利用 Rust 的所有权模型和零成本抽象实现 Broker、客户端、远程通信和存储,在保持安全性的同时提供可预期的性能。

A
Tokio 异步 I/O

异步非阻塞设计

Producer、Consumer、Remoting 和 Broker 服务围绕异步 I/O 设计,让高并发消息流量不会阻塞工作线程。

X
Cargo 就绪

跨平台支持

可在 Linux、Windows 和 macOS 上运行和开发 RocketMQ-Rust,配合 Cargo、示例和文档融入 Rust 生态。

Rust 中的 RocketMQ 消息流

NameServer 路由

Producer 和 Consumer 在发送或拉取消息前,通过 NameServer 解析 Broker 路由。

Broker 存储

消息写入 CommitLog,并分发到消费队列,支撑可靠投递。

Producer API

客户端 API 支持 Topic 消息、队列选择、批量发送和事务消息流程。

Consumer 投递

Consumer 以 Push 或 Pull 模式处理消息,并通过 Offset 维护消费进度。