What is RabbitMQ?
Turkish: RabbitMQ
RabbitMQ is a message broker that routes messages between producer and consumer applications through AMQP queues and exchanges.
What is RabbitMQ?
RabbitMQ is an open-source message broker that moves messages between applications. Instead of asking another service to do work immediately, a service sends a message to RabbitMQ; a consumer service picks it up from a queue when it is ready.
RabbitMQ is built around exchanges, queues, and bindings. A producer sends a message to an exchange. The exchange routes the message to one or more queues based on routing keys and binding rules. When a consumer processes the message successfully, it sends an acknowledgment; failed messages can be retried or moved to a dead-letter queue.
When It Is Used
- Background jobs such as email, SMS, invoice generation, or image processing
- Separating inventory, accounting, and shipping work after an order
- Buffering temporary traffic spikes to protect services
- Tracking failed jobs through retry and dead-letter flows
Business Use
RabbitMQ is useful when a system needs reliable task distribution and flexible routing. Apache Kafka is stronger for high-volume event streams and long-lived event logs; RabbitMQ is often simpler for work queues, routing, and acknowledgment-driven flows.
Designing a message queue architecture well requires clarifying delivery guarantees, ordering, and retry needs before choosing between Kafka, RabbitMQ, or another broker.
Related Terms
Celery is a Python task queue for running email, report, integration, and other long-running work asynchronously outside web requests.
Apache KafkaApache Kafka is a distributed log-based messaging platform designed for processing high-volume real-time data streams.
Message QueueA message queue buffers work between services so producers and consumers can run asynchronously and recover from traffic spikes.
Message BrokerA message broker queues and routes events or tasks between services, decoupling producers from consumers in distributed systems.