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
83
votes
2 answers

RabbitMQ vs Socket.io?

I'm doing real time live web app development. Browser users should be able to communicate with eachother through a node.js server. One of the user writes a message and all other users will get it. I don't quite get how RabbitMQ works. But from quick…
ajsie
  • 77,632
  • 106
  • 276
  • 381
81
votes
2 answers

NServiceBus and Rabbit MQ or Kafka

I am trying to learn messaging system. I have found that RabbitMq and NServiceBus are using together in few places. My questions are If I am using the RabbitMQ then why do i need NServiceBus? and vice versa What NServiceBus can do but RabbitMQ or…
MJK
  • 3,434
  • 3
  • 32
  • 55
81
votes
11 answers

RabbitMQ command doesn't exist?

OS: Mac OSX 10.9 I have rabbitmq installed via home brew and when I go to /usr/local/sbin and run rabbitmq-server it states that: rabbitmq-server: command not found even as sudo it states the same error. How do I get rabbitmq to start if it's not a…
user3379926
  • 3,855
  • 6
  • 24
  • 42
77
votes
7 answers

Handling long running tasks in pika / RabbitMQ

We're trying to set up a basic directed queue system where a producer will generate several tasks and one or more consumers will grab a task at a time, process it, and acknowledge the message. The problem is, the processing can take 10-20 minutes,…
jmacdonagh
  • 3,851
  • 3
  • 18
  • 14
75
votes
6 answers

Why use AMQP/ZeroMQ/RabbitMQ

as opposed to writing your own library. We're working on a project here that will be a self-dividing server pool, if one section grows too heavy, the manager would divide it and put it on another machine as a separate process. It would also alert…
Evil Spork
  • 1,013
  • 2
  • 10
  • 16
74
votes
3 answers

RabbitMQ: persistent message with Topic exchange

I am very new to RabbitMQ. I have set up a 'topic' exchange. The consumers may be started after the publisher. I'd like the consumers to be able to receive messages that have been sent before they were up, and that was not consumed yet. The exchange…
Julien
  • 5,729
  • 4
  • 37
  • 60
74
votes
2 answers

Celery: When should you choose Redis as a message broker over RabbitMQ?

My rough understanding is that Redis is better if you need the in-memory key-value store feature, however I am not sure how that has anything to do with distributing tasks? Does that mean we should use Redis as a message broker IF we are already…
Pig
  • 2,002
  • 5
  • 26
  • 42
74
votes
15 answers

RabbitMQ started but can't access management interface

I have RabbitMQ installed and started. The service is running as well. However, when I try to open the management interface in firefox, I get this error: Firefox can't establish a connection to the server at localhost:#####. (##### being several…
tehdoommarine
  • 1,868
  • 3
  • 18
  • 31
73
votes
7 answers

Why do we need to use rabbitmq

Why do we need RabbitMQ when we have a more powerful network framework in Python called Twisted. I am trying to understand the reason why someone would want to use RabbitMQ. Could you please provide a scenario or an example using RabbitMQ? Also,…
fear_matrix
  • 4,912
  • 10
  • 44
  • 65
72
votes
2 answers

RabbitMQ - How many queues can RabbitMQ handle on a single server?

What's the maximum number of queues that RabbitMQ can handle on a single server? Does it depend on RAM? Does it depends on erlang processes?
Raj Sf
  • 1,408
  • 1
  • 17
  • 26
72
votes
2 answers

Rabbitmq or Gearman - choosing a jobs queue

At work, we need to build a jobs server for things like sending emails, building PDFs, crunching some data, etc. Obviously, we'd like to build on some sort of generic queueing system. I'm familiar with Gearman, and that this is exact problem that…
brianz
  • 7,268
  • 4
  • 37
  • 44
70
votes
12 answers

RabbitMQ fails on Error: unable to connect to node rabbit@TPAJ05421843: nodedown

On a Windows 7 Enterprise machine, I made a fresh install of Erlang 17.4 and RabbitMQ 3.4.3 x64. The installation was successful and uneventful. I have not yet tried to create my first queue or exchange, but I already see trouble. This problem…
Brent Arias
  • 29,277
  • 40
  • 133
  • 234
69
votes
1 answer

Comparison between RabbitMQ and MSMQ

Can I get the comparison between RabbitMQ and MSMQ. It will be helpful performance information on different factors are available.
N K
  • 3,217
  • 5
  • 23
  • 38
66
votes
6 answers

How to install rabbitmq management plugin (rabbitmq-plugins)

Brief: Is there a way to install rabbitmq-plugins via a ubuntu package? Details: I have rabbitmq running ok in my ubuntu system, and now I'm trying to monitor what's going on via the management plugin. I'm following rabbitmq.com/management.html…
jd.
  • 4,543
  • 7
  • 34
  • 40
65
votes
3 answers

Service Oriented Architecture - AMQP or HTTP

A little background. Very big monolithic Django application. All components use the same database. We need to separate services so we can independently upgrade some parts of the system without affecting the rest. We use RabbitMQ as a broker to…
jreid42
  • 1,240
  • 1
  • 12
  • 19