RabbitMQ

RabbitMQ is an open-source message broker: a server that sits between applications and reliably moves messages from producers to consumers. It was first released in 2007 as one of the earliest implementations of the Advanced Message Queuing Protocol (AMQP), and it has since become one of the most widely deployed messaging systems in production use. Its own documentation today describes RabbitMQ as a feature-rich, multi-protocol messaging and streaming broker.

The broker is written in Erlang and runs on the Erlang/OTP runtime. That choice was deliberate: Erlang was designed at Ericsson for telecom switches that must stay up continuously and handle enormous numbers of concurrent connections, and those same properties (lightweight processes, supervision trees, and built-in distribution) map cleanly onto a message broker that must juggle many client connections and recover gracefully from failures. The source repository confirms the core server is an Erlang/OTP application.

RabbitMQ’s routing model is built from three concepts. Producers publish messages to an exchange, never directly to a queue. The exchange examines each message and, according to its type (direct, topic, fanout, or headers) and the bindings configured against it, decides which queues should receive a copy. Consumers then read from queues. This indirection means publishers and subscribers do not need to know about each other, and the same message can be fanned out to many queues or selectively routed by a topic key, supporting both work-queue and publish/subscribe patterns on the same broker.

Although RabbitMQ began as an AMQP 0-9-1 broker, it grew into a multi-protocol system. The server now speaks AMQP 0-9-1, AMQP 1.0, MQTT, STOMP, and the RabbitMQ Stream Protocol, letting clients written for different ecosystems share the same broker. Features such as durable queues, message acknowledgements, publisher confirms, dead-letter exchanges, and clustering with mirrored or quorum queues were added over time to address reliability and high-availability requirements in production deployments.

RabbitMQ was originally developed by Rabbit Technologies, a venture backed by LShift and CohesiveFT, and the business was later acquired by SpringSource (then part of VMware) and subsequently developed under Pivotal and Broadcom. It remains free and open source, and is commonly used as the asynchronous backbone of microservices architectures, background-job systems, and integration pipelines where decoupling and reliable delivery matter more than raw streaming throughput.

Sources

Last verified June 8, 2026