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: