rocketmq-rust

by mxsmVerified

🚀Apache RocketMQ build in Rust🦀. Faster, safer, and with lower memory usage. ⭐ Star to support our work❤️!

1,506
Stars
246
Forks
Rust
Language
8/23/2026
Added
View on GitHubDownload ZIP

⚠️ Third-Party Software Notice

This skill is third-party open-source software developed and hosted independently on GitHub. SkillTip is an informational directory and does not control or maintain the underlying repository. Any security checks displayed are automated and limited in scope. Review the source code before installing.

Read the Terms of Service

Installation

Add to your Claude Code skills directory:

# Add to your Claude Code skills
git clone https://github.com/mxsm/rocketmq-rust

Getting Started

Guides for using skills like rocketmq-rust.

Security Report

Verified

Last scanned: —

{
  "status": "PASSED",
  "issues": []
}

README.md

GitHub last commit Crates.io Docs.rs CI Website Deploy Website Check CodeCov GitHub contributors Crates.io License
GitHub repo size Static Badge Ask DeepWiki

mxsm%2Frocketmq-rust | Trendshift mxsm | Trendshift

RocketMQ-Rust

🚀 A high-performance, reliable, and feature-rich unofficial Rust implementation of Apache RocketMQ, designed to bring enterprise-grade message middleware to the Rust ecosystem.

Overview Quick Start Documentation Components
Contributing Community


✨ Overview

RocketMQ-Rust is a complete reimplementation of Apache RocketMQ in Rust, leveraging Rust's unique advantages in memory safety, zero-cost abstractions, and fearless concurrency. This project aims to provide Rust developers with a production-ready distributed message queue system that delivers exceptional performance while maintaining full compatibility with the RocketMQ protocol.

🎯 Why RocketMQ-Rust?

  • 🦀 Memory Safety: Built on Rust's ownership model, eliminating entire classes of bugs like null pointer dereferences, buffer overflows, and data races at compile time
  • ⚡ High Performance: Zero-cost abstractions and efficient async runtime deliver exceptional throughput with minimal resource overhead
  • 🔒 Thread Safety: Fearless concurrency enables safe parallel processing without the risk of race conditions
  • 🌐 Cross-Platform: First-class support for Linux, Windows, and macOS with native performance on each platform
  • 🔌 Ecosystem Integration: Seamlessly integrates with the rich Rust ecosystem including Tokio, Serde, and other modern libraries
  • 📦 Production Ready: Battle-tested architecture with comprehensive error handling and observability

🏗️ Architecture

RocketMQ-Rust Architecture

RocketMQ-Rust implements a distributed architecture with the following core components:

  • Name Server: Lightweight service discovery and routing coordination
  • Broker: Message storage and delivery engine with support for topics, queues, and consumer groups
  • Producer Client: High-performance message publishing with various sending modes
  • Consumer Client: Flexible message consumption with push and pull models
  • Store: Efficient local storage engine optimized for sequential writes
  • Controller: Advanced high availability and failover capabilities

📚 Documentation

🚀 Quick Start

Prerequisites

  • Rust toolchain 1.95.0
  • A shell with cargo available
  • Separate terminals for the NameServer, Broker, and client examples

See the toolchain and dependency trust policy for the pinned toolchain, dependency admission rules, and local validation contract.

1. Build the Workspace

git clone https://github.com/mxsm/rocketmq-rust.git
cd rocketmq-rust
cargo build --workspace

If you only want to use the client SDK from your own application, add the current release to Cargo.toml:

[dependencies]
rocketmq-client-rust = "1.0.0"
rocketmq-model = "1.0.0"
rocketmq-protocol = "1.0.0"

2. Start the NameServer

cargo run --bin rocketmq-namesrv-rust

The default NameServer endpoint is 127.0.0.1:9876. To bind explicitly:

cargo run --bin rocketmq-namesrv-rust -- --ip 127.0.0.1 --port 9876

3. Start the Broker

The Broker requires ROCKETMQ_HOME. Point it at an existing RocketMQ home or create a local runtime directory for quick testing.

Linux/macOS:

export ROCKETMQ_HOME="$(pwd)/.rocketmq"
mkdir -p "$ROCKETMQ_HOME/conf"
cargo run --bin rocketmq-broker-rust -- -n 127.0.0.1:9876

Windows PowerShell:

$env:ROCKETMQ_HOME = "$PWD\.rocketmq"
New-Item -ItemType Directory -Force "$env:ROCKETMQ_HOME\conf" | Out-Null
cargo run --bin rocketmq-broker-rust -- -n 127.0.0.1:9876

Use cargo run --bin rocketmq-broker-rust -- --help to inspect configuration flags such as --configFile, --namesrvAddr, and config printing options.

4. Send and Receive Messages

Start the consumer example first:

cargo run -p rocketmq-client-rust --example consumer

Then send messages from another terminal:

cargo run -p rocketmq-client-rust --example producer

The quickstart examples use 127.0.0.1:9876 and TopicTest by default. For more messaging patterns, see:

📦 Components & Crates

RocketMQ-Rust is organized into deployable services, reusable protocol/runtime crates, and operational applications. The tables below focus on responsibility and integration boundaries instead of per-crate maturity labels.

Core Runtime Services

CrateResponsibility
rocketmq-namesrvNameServer implementation for broker registration, topic routing, and service discovery.
rocketmq-brokerBroker implementation for message storage, dispatch, delivery, and consumer coordination.
rocketmq-controllerController service for broker coordination and high availability workflows.
rocketmq-proxyProxy layer for gateway-style client access and protocol integration.
rocketmq-proxy-coreStable proxy contracts, use cases, and ingress-independent models.
rocketmq-proxy-clusterCluster-mode proxy adapter with keyed execution and remote Broker access.
rocketmq-proxy-localLocal-mode proxy adapter.

Client, Protocol, and Shared Libraries

CrateResponsibility
rocketmq-clientAsync producer, consumer, and admin SDK for application integration.
rocketmq-protocolRocketMQ wire commands, headers, serialization, and compatibility contracts.
rocketmq-transportRuntime-owned network sessions and canonical per-session writers.
rocketmq-modelShared message, route, configuration, and domain models.
rocketmq-authAuthentication, authorization, ACL evaluation, and request context support.
rocketmq-security-apiRuntime-neutral authentication, authorization, signing, and maintenance contracts.
rocketmq-filterMessage filtering support, including tag and expression-based filtering.

Storage, Runtime, and Observability

CrateResponsibility
rocketmq-storeDurable local storage engine for commit logs, consume queues, and message indexes.
rocketmq-store-apiBackend-neutral append, read, lifecycle, replication, checkpoint, and health capabilities.
rocketmq-store-localLocal CommitLog, ConsumeQueue, Index, mapped-file, and recovery implementation.
rocketmq-store-rocksdbRocksDB-backed store implementation.
rocketmq-tieredstoreTiered storage abstractions for extending message data beyond local disks.
rocketmq-runtimeAsync runtime abstractions and runtime-friendly coordination utilities.
rocketmq-errorShared error types and result conventions across workspace crates.
rocketmq-macrosProcedural macros used by RocketMQ-Rust crates and examples.
rocketmq-observabilityMetrics and tracing integration for service and client instrumentation.

The cross-cutting ownership, cancellation, error, limit, compatibility, and failure-mode contracts are documented in the core capability contracts.

Tools, Examples, and Dashboards

ProjectResponsibility
rocketmq-exampleStandalone examples covering producer, consumer, request/reply, ordering, delay, and transaction flows.
rocketmq-toolsCommand-line tools and operational utilities.
rocketmq-admin-cliCommand-line administration interface for cluster and broker operations.
rocketmq-admin-coreShared admin functionality used by CLI and terminal interfaces.
rocketmq-admin-tuiTerminal UI for interactive administration workflows.
rocketmq-store-inspectStorage inspection utilities for broker data files.
rocketmq-mcpModel Context Protocol server for deny-by-default RocketMQ diagnostics and administration.
rocketmq-dashboardDashboard workspace for desktop, web, and shared management UI components.
rocketmq-dashboard-commonShared dashboard models and reusable dashboard infrastructure.
rocketmq-dashboard-gpuiGPUI-based desktop dashboard.
rocketmq-dashboard-tauriTauri-based cross-platform dashboard shell and backend.
rocketmq-dashboard-webWeb dashboard frontend and backend project.

💡 Capabilities

RocketMQ-Rust focuses on RocketMQ-compatible messaging services and Rust-native integration points.

AreaWhat it provides
Messaging servicesNameServer, Broker, Controller, and Proxy services for routing, storage, delivery, coordination, and gateway access.
Client integrationAsync producer, consumer, admin, request/reply, batch, ordered, delayed, and transactional messaging APIs.
Protocol compatibilityRocketMQ remoting command models, headers, serialization, route discovery, and client/broker interoperability.
Storage engineDurable commit log, consume queue, index, checkpoint, and tiered storage building blocks.
Security and governanceAuthentication, authorization, ACL evaluation, request context, and broker/client-side integration points.
OperationsMetrics, tracing, admin tools, storage inspection utilities, and dashboard projects for cluster visibility.

🧪 Build & Validation

Quick Start covers the first local run. For regular development and review, use the root workspace commands below.

TaskCommand
Build the workspacecargo build --workspace
Run workspace testscargo test --workspace
Run a focused crate testcargo test -p rocketmq-client
Format Rust codecargo fmt --all
Run clippy with workspace featurescargo clippy --workspace --no-deps --all-targets --all-features -- -D warnings
Build local API documentationcargo doc --workspace --no-deps

Standalone projects under rocketmq-example/ and rocketmq-dashboard/ are validated from their own project roots.

🤝 Contributing

We welcome contributions from the community! Whether you're fixing bugs, adding features, improving documentation, or sharing ideas, your input is valuable.

How to Contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Contribution Guidelines

  • Follow Rust best practices and idiomatic patterns
  • Add tests for new functionality
  • Update documentation as needed
  • Ensure CI passes before submitting PR
  • Use meaningful commit messages

For detailed guidelines, please read our Contribution Guide.

Repository Activity

Repository Activity

❓ FAQ

Is RocketMQ-Rust production-ready?

The services are designed for production-oriented deployments, but production readiness is a property of a specific candidate and environment. Promotion requires commit- and digest-bound fault, soak, performance, acknowledgement RPO/RTO, and executable rollback evidence described by the production-readiness runbook.

Is it compatible with Apache RocketMQ?

Yes, RocketMQ-Rust implements the RocketMQ protocol and can interoperate with Apache RocketMQ Java clients and servers.

What's the minimum supported Rust version (MSRV)?

The minimum supported Rust version is stable Rust 1.95.0. The repository pins that exact toolchain for local and production builds; dated nightly toolchains are reserved for explicitly documented specialized checks such as Miri and rustdoc JSON generation.

How does performance compare to Java RocketMQ?

No general comparison is claimed. Component microbenchmarks detect algorithmic regressions; they do not establish production TPS. Candidate performance is accepted only from the target-hardware profile with identical configuration, at least five samples, dispersion checks, and a correctness-valid evidence bundle indexed by the architecture evidence document.

Can I use it with existing RocketMQ deployments?

Yes, you can deploy RocketMQ-Rust components alongside Java RocketMQ. For example, you can use Rust clients with Java brokers, or vice versa.

How can I migrate from Java RocketMQ to RocketMQ-Rust?

Migration can be done incrementally:

  1. Start by using Rust client SDK with existing Java brokers
  2. Gradually replace brokers with Rust implementation
  3. Both implementations can coexist during migration

Refer to our migration guide for detailed steps.

👥 Community & Support

Contributors

Thanks to all our contributors! 🙏

📄 License

RocketMQ-Rust is licensed under the Apache License 2.0.

See LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0.

🙏 Acknowledgments

  • Apache RocketMQ Community for the original Java implementation and design
  • Rust Community for excellent tooling and libraries
  • All Contributors who have helped make this project better

Built with ❤️ by the RocketMQ-Rust community

Frequently Asked Questions

What is rocketmq-rust?

rocketmq-rust is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by mxsm. 🚀Apache RocketMQ build in Rust🦀. Faster, safer, and with lower memory usage. ⭐ Star to support our work❤️!. It has 1,506 GitHub stars.

Is rocketmq-rust safe to use?

Yes. rocketmq-rust passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install rocketmq-rust?

Clone the repository with "git clone https://github.com/mxsm/rocketmq-rust" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is rocketmq-rust written in?

rocketmq-rust is primarily written in Rust. It is open-source under mxsm on GitHub, so you can review or fork the full source.

Are there alternatives to rocketmq-rust?

Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh rocketmq-rust against similar tools.

Comments (0)

No comments yet. Be the first to share your thoughts!

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP Serversapisai-tools
View details

Scrapling

by D4Vinci

🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!

75,9137,581Python
MCP Servers
View details

TrendRadar

by sansan0

⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。

61,65224,883Python
MCP Servers
View details

context7

by upstash

Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

61,0602,938TypeScript
MCP Servers
View details

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

39,9393,219C
MCP Servers
View details

Developers Also Liked

Based on votes and bookmarks from developers who liked this skill

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI Agentsai-agentsanthropicclaude-code
View details
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI Agentsai-agentsbrainstorming
View details

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP Serversapisai-tools
View details

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI Agentsai-agentsanthropicclaude-code
View details

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI Agentsclaude-codeai-tools
View details