Integration, orchestration & processing
RabbitMQ
A message broker for reliable system integration and task queues.
What is it
RabbitMQ is a message broker: it accepts messages from senders and delivers them to recipients through queues using flexible routing rules. Unlike Kafka, which is geared toward massive event streams, RabbitMQ excels at the reliable delivery of individual messages, task queues, and the integration of heterogeneous services.
Where and why it is used
I use RabbitMQ for integrations and background jobs within the data layer: reliable message passing between services, queuing load and processing tasks, and decoupling warehouse components. It is a good fit where guaranteed delivery matters more than an extremely high throughput.
Alternatives
Pros and cons
Pros
- Flexible routing and delivery guarantees
- Easy to get started with integrations and task queues
- A mature, time-tested broker
- Support for many protocols and languages
Cons
- – Not built for storing and replaying large event streams
- – Lower throughput than Kafka
- – Queues can grow when consumers are slow
- – Clustering requires careful configuration




