rocketmq
Apache RocketMQ is a cloud native messaging and streaming platform, making it simple to build event-driven applications.
Apache RocketMQ is a high-throughput messaging platform that reliably delivers events between services in distributed systems, supporting ordered messages, transactions, pub/subscribe, and real-time stream processing at scale.
Apache RocketMQ is a messaging and streaming platform designed for large-scale, distributed applications. Think of it as a post office for software: instead of one part of a system calling another directly (which can fail if the receiver is busy or down), components send messages to RocketMQ, which stores and delivers them reliably. This decoupling makes systems more resilient and easier to scale.
RocketMQ supports several messaging patterns. In publish/subscribe mode, one service publishes events and many others can listen. It also supports ordered messaging (guaranteeing messages arrive in sequence), transactional messaging (where a message is only delivered if a related database operation succeeded), and streaming (processing a continuous flow of data). Messages can be filtered by tags or SQL expressions, and you can replay past messages by time or position in the queue.
You would use RocketMQ when building event-driven architectures — for example, an e-commerce platform where placing an order triggers separate inventory, payment, and notification services in parallel, without any one service blocking another.
RocketMQ is written in Java, requires Java 8 or higher, and can run locally, in Docker containers, or on Kubernetes. It is an Apache Software Foundation project licensed under the Apache 2.0 license.
Where it fits
- Decouple an e-commerce order service from inventory, payment, and notification services so they process in parallel without blocking each other.
- Process a continuous stream of real-time events such as user activity logs using RocketMQ streaming capabilities.
- Send transactional messages that are only delivered to consumers if a related database write operation succeeds.
- Build a pub/subscribe notification system where multiple independent services listen to the same event stream.