Skip to main content
APACHE ROCKETMQ ARCHITECTURE - RUST IMPLEMENTATION - ASYNC RUNTIME

RocketMQ-Rust

High-performance messaging middleware built with Rust

RocketMQ-Rust brings Apache RocketMQ's proven messaging model to Rust: producers send messages to brokers, NameServer provides routing, CommitLog persists data, and consumers process messages through async, type-safe APIs.

Producerbatch sendNameServerroute tableConsumerpull consumeCommitLogdurable storeBrokerdispatch queueMQrust core
00Route Lookup
01Producer Send
02Broker Append
03CommitLog Flush
04Consumer Pull
05Offset Commit
NameServerroute discovery
Brokercommit + dispatch
CommitLogdurable storage
Rust Clientproducer + consumer
ROCKETMQ-RUST CORE

A Rust implementation of Apache RocketMQ's messaging architecture

R
memory safe core

Rust Language Advantages

RocketMQ-Rust uses Rust's ownership model and zero-cost abstractions to implement brokers, clients, remoting, and storage with predictable performance.

A
tokio async I/O

Async Non-blocking Design

Producer, consumer, remoting, and broker services are designed around asynchronous I/O so high-concurrency message traffic does not block worker threads.

X
cargo ready

Cross-platform Support

Run and develop RocketMQ-Rust across Linux, Windows, and macOS with Cargo, examples, and documentation aligned for the Rust ecosystem.

RocketMQ message flow in Rust

NameServer Routing

Producers and consumers resolve broker routes through NameServer before sending or pulling messages.

Broker Storage

Messages are appended to CommitLog and dispatched to queues for reliable delivery.

Producer APIs

Client APIs support topic messages, queue selection, batch sending, and transactional messaging flows.

Consumer Delivery

Consumers process messages in push or pull mode and keep progress through offsets.