Why RocketMQ Beats Other Open‑Source Queues: A Practical Selection Guide
This article evaluates open‑source message‑queue options by examining company, middleware‑team, and end‑user criteria, then explains why RocketMQ’s low technical and labor costs, stability, rich features, high performance, built‑in management tools, monitoring support, and active community make it a cost‑effective choice over alternatives like Kafka and Pulsar.
Selection criteria for an open‑source message queue
Three stakeholder perspectives are considered when evaluating a message‑queue solution without commercial products.
1. Company perspective
Technical cost : server, development and maintenance expenses. Cloud VMs are typical; cost depends on provider performance, discounts, configuration and quantity.
Labor cost : training, recruitment and onboarding. Technologies with steep learning curves increase onboarding time and risk turnover.
Other considerations : large internet companies may initially prefer buying, but cost pressure eventually forces technical optimisation or staff reductions.
2. Middleware team perspective
Stability : essential for reliable business operation.
Feature support : retry, dead‑letter, message tracing, scheduled messages, transactional messages, master‑slave failover, ACL, etc.
Performance : write latency and throughput.
Management platform : easy topic/consumer administration, preferably with an out‑of‑the‑box UI.
Monitoring & alerting : seamless integration with internal monitoring systems such as Prometheus.
Ops, support & community : minimal third‑party dependencies, active open‑source community and responsive support channels.
3. End‑user perspective
Stability : developers need a service that rarely fails.
Migration difficulty : ease of integrating the queue into existing projects.
New project onboarding : simplicity and speed of initial setup.
Compatibility with existing micro‑service frameworks : especially Spring Cloud and other Java ecosystems.
Why RocketMQ satisfies these requirements
Technical cost
RocketMQ runs on modest cloud VMs. A test cluster with 8 CPU, 16 GB RAM, 500 GB SSD (2 master + 2 slave) achieved 40‑50 k TPS send rate, a peak of 200 k TPS consumption, and stabilised at 80‑90 k TPS. Horizontal scaling incurs no noticeable performance loss.
Labor cost
Implemented in Java, RocketMQ provides a stable API with minimal breaking changes across versions, easing upgrades. Java talent is abundant; many large enterprises (e.g., Ant Financial, WeBank, ByteDance, Meituan) already use it, widening the candidate pool.
Stability
Proven in Alibaba’s Double‑11 peak, financial institutions and other high‑traffic services, RocketMQ delivers financial‑grade reliability with years of zero‑incident operation in some deployments.
Rich feature set
Retry and dead‑letter mechanisms
Ordered and transactional messages
Support for tens of thousands of topics
Message filtering and tracing
Automatic master‑slave failover
Native Prometheus metrics
RocketMQ Console for management
ACL‑based access control
Performance
99.9 % of writes finish within 2 ms, far better than many alternatives that exceed 5 ms. Throughput scales horizontally; tests by Didi show comparable TPS to Kafka.
Management platform
RocketMQ Console is provided out‑of‑the‑box:
https://github.com/apache/rocketmq-externals/tree/master/rocketmq-consoleMonitoring & alerting
RocketMQ Exporter offers native Prometheus support:
https://github.com/apache/rocketmq-exporterOps & community
No Zookeeper dependency – ready to use out of the box.
Active community on DingTalk, WeChat and QQ groups with quick Q&A.
Continuous growth of committers and contributors.
RocketMQ vs. Kafka
Kafka excels in latency‑tolerant, batch‑oriented workloads with moderate topic counts. RocketMQ is better suited for latency‑sensitive, high‑topic scenarios such as financial transaction messages, order‑status updates and push notifications, where millions of topics and sub‑millisecond latency are required.
Key repository links
RocketMQ source code: https://github.com/apache/rocketmq RocketMQ Exporter source: https://github.com/apache/rocketmq-exporter RocketMQ Spring integration: https://github.com/apache/rocketmq-spring C++ client: https://github.com/apache/rocketmq-client-cpp Python client: https://github.com/apache/rocketmq-client-python Go client: https://github.com/apache/rocketmq-client-go RocketMQ Console source:
https://github.com/apache/rocketmq-externals/tree/master/rocketmq-consoleFlink connector:
https://github.com/apache/rocketmq-externals/tree/master/rocketmq-flinkSigned-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Alibaba Cloud Native
We publish cloud-native tech news, curate in-depth content, host regular events and live streams, and share Alibaba product and user case studies. Join us to explore and share the cloud-native insights you need.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
