RabbitMQ
by Broadcom · Platform · also known as VMware Tanzu RabbitMQ
Open-source message broker in Erlang supporting AMQP 0-9-1 and 1.0, MQTT, STOMP and Streams, with routing, acknowledgements and quorum queues
Overview
RabbitMQ is a message broker written in Erlang, maintained by Broadcom (through the former VMware Tanzu team) and released under the Mozilla Public License 2.0 for the server and its core plugins. Producers publish to exchanges, which route messages to queues by bindings and routing keys; consumers acknowledge each message, and the broker handles redelivery, dead-lettering, TTLs and priorities. Version 4 made AMQP 1.0 a native protocol alongside AMQP 0-9-1, added Khepri metadata storage and promoted quorum queues (Raft-replicated) as the durable default, while the Streams feature provides an append-only, replayable log for high-throughput fan-out. MQTT 5.0 and STOMP plugins serve IoT and web clients, and a management UI and HTTP API cover monitoring. Clients exist for most languages.
RabbitMQ fits task distribution, RPC patterns and routing-heavy integration between services where per-message acknowledgement and flexible topologies matter. Commercial support and extra features are sold as Tanzu RabbitMQ, and managed instances are offered by CloudAMQP and major clouds. Compared with Kafka, retention and replay are limited to Streams, and throughput per node is lower; compared with NATS or Redis-based queues it is heavier to operate.
Capabilities
- Exchanges, bindings and routing keys for flexible message routing
- Per-message acknowledgements, dead-letter exchanges, TTLs and priorities
- Quorum queues replicated with Raft
- Streams for replayable append-only logs
- AMQP 0-9-1, AMQP 1.0, MQTT 5.0 and STOMP protocols
- Management UI, HTTP API and Prometheus metrics
Typical workflows
- Background job distribution across worker processes
- Request/reply messaging between services
- IoT ingestion over MQTT into back-end consumers
Strengths
- Mature routing semantics and delivery guarantees
- Wide client and hosting support
- MPL-2.0 open-source server
Limitations
- Replay limited to Streams; classic queues delete consumed messages
- Erlang runtime and cluster tuning to learn
- Lower throughput than log-based systems at very large scale
Prerequisites
- Erlang/OTP runtime or Docker image; or a hosted RabbitMQ service
Who it is for
- Backend developers
- Integration and platform teams
Alternatives & comparison
- Apache Kafka
Distributed event streaming platform with durable, partitioned, replayable logs, Kafka Connect connectors and Kafka Streams processing
Open sourceOpen source - BullMQ
Redis-backed job and message queue for Node.js (with a Python port) offering workers, flows, rate limiting, repeatable jobs and a commercial Pro tier
MixedOpen source - NATS
Lightweight Go messaging system with core pub/sub and request-reply plus JetStream persistence, key-value and object stores; a CNCF project
Open sourceOpen source - pg-boss
Node.js job queue that uses PostgreSQL tables and SKIP LOCKED for reliable background jobs, scheduling and retries without a separate broker
Open sourceOpen source - Redis
In-memory key-value data store used as cache, message broker and database, with data structures, Pub/Sub, Streams and, since Redis 8, built-in JSON, search and time-series modules
MixedOpen source
Sources & verification
Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.
- LicenseRabbitMQ LICENSE (MPL 2.0 for server and core plugins)checked Nov 1, 2026
https://github.com/rabbitmq/rabbitmq-server/blob/main/LICENSE
Supports: license_spdx, source_model
- Official documentationchecked Nov 1, 2026
- Official siteRabbitMQchecked Nov 1, 2026
https://www.rabbitmq.com/
Supports: name, summary, vendor
Copyright notice names Broadcom; page lists AMQP 1.0 and MQTT 5.0 and release series 4.4
- Repositorychecked Nov 1, 2026
- Confidence
- High
- Reviewed
- Nov 1, 2026
- Links
- Verified · Nov 2, 2026