mxsm/rocketmq-rust

πŸš€ Apache RocketMQ built in Rust πŸ¦€ β€” faster, safer, and more memory-efficient. Powering high-performance messaging for the AI era, with AI Agent, MCP, and AI-SRE capabilities.

What it solves

RocketMQ-Rust provides a high-performance, memory-safe, and reliable distributed message queue system for the Rust ecosystem. It serves as an unofficial reimplementation of Apache RocketMQ, allowing Rust developers to use enterprise-grade message middleware without relying on the Java-based original, while maintaining full protocol compatibility for interoperability between Rust and Java implementations.

How it works

The project implements a distributed architecture consisting of several core components:

  • Name Server: Handles service discovery and routing coordination.
  • Broker: The engine for message storage and delivery, managing topics, queues, and consumer groups.
  • Controller: Manages high availability and failover workflows.
  • Producer and Consumer Clients: SDKs for publishing and consuming messages using push or pull models.
  • Store: A local storage engine optimized for sequential writes, with support for CommitLogs and tiered storage.
  • Proxy: A gateway layer for client access and protocol integration.

Who it’s for

This is designed for Rust developers and system architects who need a production-ready distributed messaging system that leverages Rust's memory safety and concurrency model to achieve high throughput and minimal resource overhead.

Highlights

  • Full Protocol Compatibility: Interoperates with Apache RocketMQ Java clients and servers.
  • Memory Safety: Eliminates data races and null pointer dereferences via Rust's ownership model.
  • Comprehensive Tooling: Includes an admin CLI, a TUI for administration, and multiple dashboard options (Web, Tauri, and GPUI).
  • Flexible Storage: Supports local storage and RocksDB-backed implementations.
  • Async-Native: Built using the Tokio runtime for efficient asynchronous processing.

Related

  • Project
  • Project
  • Project
  • Project
  • Project