RabbitMQ is a message broker that is commonly used for queue-based messaging and routing.
It is built around the AMQP ecosystem and is often used when you want reliable delivery, flexible routing, and explicit queue semantics.
Common pieces
- Producers publish messages
- Exchanges receive messages and route them
- Queues store messages until consumers read them
- Bindings connect exchanges to queues
- Routing keys help decide where messages go
Why people use it
RabbitMQ is a good fit when you want:
- Work queues
- Task dispatch
- Reliable asynchronous processing
- Flexible routing patterns
- Support for retries and Dead Letter Queue handling
Compare
RabbitMQ is usually associated with queue-based messaging.
Kafka is usually associated with durable log-based streaming.
Pubsub describes the broader delivery pattern that both systems can participate in, but they emphasize different mechanics.
See also: