Questions tagged [rabbitmq]

RabbitMQ is an open-source message broker originally implementing the AMQP protocol with additional messaging protocols supported via a plug-in architecture. This tag should be used with questions involving the RabbitMQ server message broker product or questions concerning the source code and implementation of the RabbitMQ product. A specific protocol tag such as amqp or mqtt may also be appropriate as well as the OS and programming language being used.

RabbitMQ is an open-source message broker software that implements the Advanced Message Queuing Protocol (AMQP) with other message protocols (HTTP, STOMP, and MQTT) supported via its plug-in architecture. AMQP itself is one of several open standard for business messaging. Written in Erlang, the RabbitMQ server is based on a proven platform and offers a reliable, highly available, scalable and portable messaging system with predictable and consistent throughput and latency. There are several operating systems supported, including Linux and Windows.

There is also a client library implementing the AMQP protocol, RabbitMQ-C, librabbitmq on Linux, which provides C language bindings. This library is a basis for client libraries for a number of different programming languages.

RabbitMQ is 100% open-source and 100% based on open standard protocols, freeing users from dependency on proprietary vendor-supplied libraries. It is designed from the ground up to interoperate with other message systems. It is a leading implementation of AMQP.

The official URL of RabbitMQ is https://www.rabbitmq.com. Simple tutorials can be found on https://github.com/rabbitmq/rabbitmq-tutorials. Its client implementation can be done in various languages like Python, Java, Ruby, PHP, C#, JavaScript, GO, Elixr.

The principal idea of RabbitMQ is to accept and forward messages analogous to a post office: when you send mail to the post box, you're pretty sure the post office will eventually deliver the mail to your recipient. Using this metaphor, RabbitMQ is a post box, a post office and a postman. The major difference between RabbitMQ and the post office is the fact that it doesn't deal with paper, instead it accepts, stores and forwards binary blobs of data ‒ messages.

Through adapters, it supports MQTT and STOMP, both natively and over HTTP/WebSockets. SMTP is also available thanks to a community plugin.

Support for the software is offered through both a thriving community of active contributors and a range of commercial support services available through Pivotal (https://pivotal.io/oss).

Related tags

14241 questions
643
votes
17 answers

ActiveMQ or RabbitMQ or ZeroMQ or

We'd be interested to hear any experiences with the pros and cons of ActiveMQ vs RabbitMQ vs ZeroMQ. Information about any other interesting message queues is also welcome.
Abie
  • 10,855
  • 6
  • 32
  • 39
529
votes
16 answers

When to use RabbitMQ over Kafka?

I've been asked to evaluate RabbitMQ instead of Kafka but found it hard to find a situation where a message queue is more suitable than Kafka. Does anyone know use cases where a message queue fits better in terms of throughput, durability, latency,…
Joe
  • 11,983
  • 31
  • 109
  • 183
264
votes
2 answers

Why do we need message brokers like RabbitMQ over a database like PostgreSQL?

I am new to message brokers like RabbitMQ which we can use to create tasks / message queues for a scheduling system like Celery. Now, here is the question: I can create a table in PostgreSQL which can be appended with new tasks and consumed by the…
Yugal Jindle
  • 44,057
  • 43
  • 129
  • 197
239
votes
12 answers

Deleting all pending tasks in celery / rabbitmq

How can I delete all pending tasks without knowing the task_id for each task?
nabizan
  • 3,185
  • 5
  • 26
  • 38
228
votes
4 answers

RabbitMQ and relationship between channel and connection

The RabbitMQ Java client has the following concepts: Connection - a connection to a RabbitMQ server instance Channel - ??? Consumer thread pool - a pool of threads that consume messages off the RabbitMQ server queues Queue - a structure that holds…
user1768830
227
votes
6 answers

Can't access RabbitMQ web management interface after fresh install

I've installed the latest RabbitMQ server (rabbitmq-server-3.3.0-1.noarch.rpm) on a fresh Centos 5.10 VM according to the instructions on the official site. I've done this many times before during development and never had any issues. However, this…
T .
  • 4,874
  • 3
  • 23
  • 36
222
votes
27 answers

Delete all the queues from RabbitMQ?

I installed rabbitmqadmin and was able to list all the exchanges and queues. How can I use rabbitmqadmin or rabbitmqctl to delete all the queues.
Cory
  • 14,865
  • 24
  • 57
  • 72
218
votes
13 answers

RabbitMQ / AMQP: single queue, multiple consumers for same message?

I am just starting to use RabbitMQ and AMQP in general. I have a queue of messages I have multiple consumers, which I would like to do different things with the same message. Most of the RabbitMQ documentation seems to be focused on round-robin,…
mikemaccana
  • 110,530
  • 99
  • 389
  • 494
174
votes
11 answers

How do I delete all messages from a single queue using the CLI?

How do I delete all messages from a single queue using the cli? I have the queue name and I want to clean it.
Bick
  • 17,833
  • 52
  • 146
  • 251
172
votes
13 answers

RabbitMQ: Verify version of rabbitmq

How can I verify which version of rabbitmq is running on a server? Is there a command to verify that rabbitmq is running?
Hussain Fakhruddin
  • 3,202
  • 4
  • 25
  • 36
154
votes
5 answers

What ports does RabbitMQ use?

What ports does RabbitMQ Server use or need to have open on the firewall for a cluster of nodes? My /usr/lib/rabbitmq/bin/rabbitmq-env is set below which I'm assuming are needed (35197). SERVER_ERL_ARGS="+K true +A30 +P 1048576 \ -kernel…
bluemalkin
  • 3,269
  • 3
  • 14
  • 9
153
votes
8 answers

JMS and AMQP - RabbitMQ

I am trying to understand what JMS and how it is connected to AMQP terminology. I know JMS is an API and AMQP is a protocol. Here are my assumptions (and questions as well) RabbitMQ uses AMQP protocol (rather implements AMQP protocol) Java clients…
Kevin Rave
  • 13,876
  • 35
  • 109
  • 173
138
votes
6 answers

Is it possible to view RabbitMQ message contents directly from the command line?

Is it possible to view RabbitMQ message contents directly from the command line? sudo rabbitmqctl list_queues lists the queues. Is there any command like sudo rabbitmqctl list_queue_messages ?
Shears
  • 1,539
  • 2
  • 11
  • 6
135
votes
4 answers

SQS vs RabbitMQ

I need to create a queue for processing. The queue itself is relatively low-volume. There might be about 1,000 writes to it per hour. The execution of each task might take about a minute each, and are processed almost as soon as the item is added to…
David542
  • 104,438
  • 178
  • 489
  • 842
133
votes
2 answers

RabbitMQ" What are "Ready" and "Unacked" types of messages?

I'm getting confused between these two types of messages in RabbitMQ. I've seen that some of my queues have 0 "Unacked" and 1000 "Ready" messages, while some have 1000 "Unacked" and 0 "Ready" messages. What's the difference between them? And how can…
Anil Kumar
  • 2,521
  • 7
  • 23
  • 40
1
2 3
99 100