An unofficial Rust implementation of Apache RocketMQ, providing a high-performance, memory-safe distributed message queue system.
RocketMQ-Rust is an unofficial Rust implementation of Apache RocketMQ, a distributed message queue system. It provides a high-performance, reliable, and feature-rich messaging middleware solution built with Rust's memory safety and concurrency features, aiming to bring enterprise-grade messaging to the Rust ecosystem.
Rust developers and teams building distributed systems, microservices, or event-driven architectures who need a production-ready, high-performance message queue with the safety guarantees of Rust.
Developers choose RocketMQ-Rust for its combination of the proven Apache RocketMQ architecture with Rust's compile-time memory safety and performance. It offers a safer, potentially faster alternative to the Java implementation, with full protocol compatibility for easy integration into existing RocketMQ ecosystems.
🚀Apache RocketMQ build in Rust🦀. Faster, safer, and with lower memory usage. ⭐ Star to support our work❤️!
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built on Rust's ownership model to eliminate null pointer dereferences and data races at compile time, as emphasized in the README's focus on safety.
Uses zero-cost abstractions and efficient async runtime for high throughput with minimal resource overhead, leveraging Rust's strengths for performance-critical systems.
Interoperates seamlessly with Apache RocketMQ Java clients and servers, enabling incremental migration and coexistence, a key value proposition highlighted in the documentation.
Provides first-class support for Linux, Windows, and macOS with native performance, making it versatile for diverse deployment environments.
Advanced features like message filtering, distributed transactions, and controller mode are still in development per the roadmap, limiting functionality for some use cases.
Requires environment variable setup (e.g., ROCKETMQ_HOME) and multiple steps to start components, which can be error-prone compared to more turnkey solutions.
Admin tools, dashboards, and some components are under development, reducing operational tooling and community support compared to the mature Java RocketMQ ecosystem.