Skip to content
FindOpenSource

RabbitMQ

Mature, widely deployed message broker for decoupling services with reliable queues, routing, and pub/sub messaging across AMQP, MQTT, and STOMP.

Overview

RabbitMQ is a general-purpose message broker that lets applications communicate asynchronously by publishing messages to queues and exchanges instead of calling each other directly. It implements multiple messaging protocols - AMQP 0-9-1, AMQP 1.0, MQTT, and STOMP - so producers and consumers written in different languages and frameworks can exchange messages through the same broker.

Its exchange-and-binding routing model supports common messaging patterns out of the box: simple work queues for distributing background jobs across workers, publish/subscribe fan-out to multiple consumers, and topic-based routing for more selective delivery. RabbitMQ clusters for high availability, and its management UI and CLI tools make queue depth, consumer counts, and message flow easy to inspect in production.

RabbitMQ is a fit for teams that need a traditional, battle-tested task queue or message broker to decouple services and smooth out load - offloading slow work to background consumers, for example - rather than a distributed log built for high-throughput event streaming and replay, which is closer to what Apache Kafka (also in this catalog) is designed for.

Categories
Backend
Keywords
message-queuemessage-brokerpubsubamqptask-queue
Languages
Erlang
License
MPL-2.0

Spotted an error? Suggest an edit on GitHub.