# RabbitMQ

> Message broker with flexible routing and append-only streams

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.

Website: https://www.rabbitmq.com

## Use it when

- Routing is the problem: direct, topic, fanout, and header exchanges, dead-lettering, TTLs, and priorities express delivery logic a plain log cannot.
- Work distribution across competing consumers is the dominant pattern, with acknowledgements and redelivery built in.
- One broker should serve both queues and replayable history; Streams add the log access pattern inside the cluster you already run.
- Protocol breadth matters: AMQP at the core, MQTT and STOMP via plugins.

## Think twice when

- The workload is a high-throughput analytics pipeline; partitioned logs like Kafka or Redpanda are built for that shape, and RabbitMQ is not.
- You need geo-replication as a first-class feature; Federation and Shovel bridge WANs, but clustering itself wants a reliable LAN.
- Nobody wants to own Erlang operations; nodes need matching versions and the runtime is its own discipline.

## How it runs

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.

## Details

### General

| Attribute | Value |
| --- | --- |
| License | Open source (copyleft) |
| SPDX identifier | MPL-2.0 |
| Deployment | Self-hosted, Managed |
| Workload | Streaming |
| Operational complexity | Medium |
| Pricing | Free, Subscription |
| Language | Erlang |
| Repository | https://github.com/rabbitmq/rabbitmq-server |
| Documentation | https://www.rabbitmq.com/docs |
| Stars | 13.9k |

### Event Streaming

| Attribute | Value |
| --- | --- |
| 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 |
| 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 |
| Delivery guarantee | At-least-once with acknowledgements; publisher confirms off by default |
| Connectors | Shovel and Federation plugins; no connector ecosystem |
| Transformations | None: exchanges route, they don't transform |
| Billing unit | None for the project; managed RabbitMQ billed by the vendor |

## Capabilities

- [Event Streaming](https://matca.io/capabilities/event-streaming)

---

Source: https://matca.io/rabbitmq
Last updated: 2026-08-31T11:40:49.635Z
