RabbitMQ is a widely deployed open-source message broker built on Erlang/OTP, combining rich queue-based routing with a Streams feature that adds append-only, replayable logs alongside traditional queues.
Self-hosted as an Erlang/OTP cluster, with quorum queues and streams replicated across nodes and messages on local disk. Scale by adding nodes and placing queues. No connector ecosystem; exchanges route rather than transform. Managed RabbitMQ is available from several providers, including CloudAMQP.
How RabbitMQ answers the questions Event Streaming turns on.
| How it works | |
| Protocol | AMQP 0-9-1 core; MQTT, STOMP and streams via plugins |
| Consumption model | Queues consume-and-remove; streams replay from any position |
| Storage | Local disk; quorum queues and streams replicated |
| Delivery guarantee | At-least-once with acknowledgements; publisher confirms off by default |
| Running it | |
| What you run | An Erlang/OTP cluster; nodes need matching versions |
| Scaling | Add nodes, then place queues; clustering wants a reliable LAN |
| Multi-region | Federation or Shovel over WAN links; clustering needs a LAN |
| Connections | |
| Connectors | Shovel and Federation plugins; no connector ecosystem |
| Transformations | None: exchanges route, they don't transform |
| Cost | |
| Billing unit | None for the project; managed RabbitMQ billed by the vendor |
vs RabbitMQ: Commercial · Managed · Serverless · Subscription · Operational complexity: Low
vs RabbitMQ: Open source (permissive) · Self-hosted · Managed · Hybrid · Free · Operational complexity: High · Java, Scala
vs RabbitMQ: Open source (permissive) · Self-hosted · Managed · Hybrid · Free · Operational complexity: High · Java