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
127
votes
17 answers

Spring AMQP + RabbitMQ 3.3.5 ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN

I am getting below exception org.springframework.amqp.AmqpAuthenticationException: com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker…
Javaboy
  • 2,044
  • 2
  • 20
  • 24
126
votes
3 answers

Why use Celery instead of RabbitMQ?

From my understanding, Celery is a distributed task queue, which means the only thing that it should do is dispatching tasks/jobs to others servers and get the result back. RabbitMQ is a message queue, and nothing more. However, a worker could just…
Kar
  • 6,063
  • 7
  • 53
  • 82
121
votes
6 answers

Redis Vs RabbitMQ as a data broker/messaging system in between Logstash and elasticsearch

We are defining an architecture to collect log information by Logstash shippers which are installed in various machines and index the data in one elasticsearch server centrally and use Kibana as the graphical layer. We need a reliable messaging…
Salindaw
  • 1,556
  • 2
  • 11
  • 10
120
votes
7 answers

Difference between stream processing and message processing

What is the basic difference between stream processing and traditional message processing? As people say that kafka is good choice for stream processing but essentially kafka is a messaging framework similar to ActivMQ, RabbitMQ etc. Why do we…
TechEnthusiast
  • 1,795
  • 2
  • 17
  • 32
117
votes
13 answers

How to open rabbitmq in browser using docker container?

This was probably asked already, but so far I can't find any detailed explanation at all, and the existing documentation seems as if it was written for some kind on psychic who supposed to know everything. As per this manual, I added the…
Olegs Jasjko
  • 2,128
  • 6
  • 27
  • 47
110
votes
3 answers

What are the limits of messages, queues and exchanges?

What are the allowed types of messages (strings, bytes, integers, etc.)? What is the maximum size of a message? What is the maximum number of queues and exchanges?
tuchk4
  • 2,270
  • 5
  • 21
  • 34
106
votes
15 answers

How to add initial users when starting a RabbitMQ Docker container?

Currently i am starting RabbitMQ Docker container using the default RabbitMQ image from DockerHub. Using the following commands. docker run --restart=always \ -d \ -e RABBITMQ_NODENAME=rabbitmq \ -v…
Marco
  • 15,101
  • 33
  • 107
  • 174
103
votes
16 answers

Deleting queues in RabbitMQ

I have a few queues running with RabbitMQ. A few of them are of no use now, how can I delete them? Unfortunately I had not set the auto_delete option. If I set it now, will it be deleted? Is there a way to delete those queues now?
Phalgun
  • 1,468
  • 2
  • 15
  • 24
101
votes
14 answers

RabbitMQ 3.3.1 can not login with guest/guest

I have installed the latest version of RabbitMQ on a VPS Debian Linux box. Tried to get login through guest/guest but returned with the message login failed. I did a little research and found that for security reason its prohibited to get login via…
Hamad Salahuddin
  • 1,097
  • 2
  • 8
  • 11
101
votes
5 answers

How to reset user for rabbitmq management

Using rabbitmq, we can install management plugin. Then we access via browser using http://localhost:55672/ using guest:guest. The problem is, I can not login anymore because i changed password and entered blank for role. Is there any way to reset…
Superbiji
  • 1,723
  • 2
  • 14
  • 21
97
votes
5 answers

How do I set a number of retry attempts in RabbitMQ?

I am using RabbitMQ and I have a queue that holds email messages. My consumer service de-queues messages and attempts to send them. If, for any reason, my consumer cannot send the message, I would like to re-queue the message to send again. I…
user2689570
  • 1,331
  • 1
  • 11
  • 11
88
votes
12 answers

RabbitMQ creating queues and bindings from command line

If I have RabbitMQ installed on my machine, is there a way to create a message queue from the command line and bind it to a certain exchange without using a client? I think it is not possible, but I want to be sure.
Fanooos
  • 2,718
  • 5
  • 31
  • 55
86
votes
4 answers

RabbitMQ - Message order of delivery

I need to choose a new Queue broker for my new project. This time I need a scalable queue that supports pub/sub, and keeping message ordering is a must. I read Alexis comment: He writes: "Indeed, we think RabbitMQ provides stronger ordering…
Bick
  • 17,833
  • 52
  • 146
  • 251
85
votes
7 answers

Performance comparison between ZeroMQ, RabbitMQ and Apache Qpid

I need a high performance message bus for my application so I am evaluating performance of ZeroMQ, RabbitMQ and Apache Qpid. To measure the performance, I am running a test program that publishes say 10,000 messages using one of the message queue…
ahsankhan
  • 951
  • 1
  • 7
  • 5
84
votes
5 answers

How do I create or add a user to rabbitmq?

This seems like a question that should be easily be googleable. It is not though. Can anybody help? How do I create a new user for rabbitmq?
Tobias Gassmann
  • 11,399
  • 15
  • 58
  • 92