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
5
votes
1 answer

django-celery in multiple server production environment

I trying to deploy a django project using django, but I have these questions unsolved: Should I run one celeryd for each web server? Should I run just one RabbitMQ server, on another machine (not) running celeryd there, accesible to all my web…
Arkaitz
  • 51
  • 2
5
votes
3 answers

Consuming the pickle binary format from non-python (with celery and rabbitmq)

I'm using Python, Celery and RabbitMQ to produce messages from loosely coupled systems. However, I'm worried about interoperability. When inspecting the message payload directly from RabbitMQ, that is produced by celery, I get the following binary…
Homer6
  • 15,034
  • 11
  • 61
  • 81
5
votes
1 answer

RabbitMQ Missing data in body after dequeue

I'm working with RabbitMQ on someone else's project and having trouble with dequeuing and missing data. The data is all there as a string when I publish, and it's also on there correctly on the RabbitMQ queue. When I pull the data off, buts of the…
user1608132
  • 301
  • 5
  • 13
5
votes
3 answers

TxSelect and TransactionScope

Recently, I've been checking out RabbitMQ over C# as a way to implement pub/sub. I'm more used to working with NServiceBus. NServiceBus handles transactions by enlisting MSMQ in a TransactionScope. Other transaction aware operations can also…
Davin Tryon
  • 66,517
  • 15
  • 143
  • 132
5
votes
1 answer

Scheduled Celery tasks on RabbitMQ remain unacknowledged past their specified run time

Having trouble getting scheduled tasks to run at a specified future time while using Celery and RabbitMQ. Using Django on a Heroku server, with the RabbitMQ add-on. The Problem: Sometimes the tasks don't run at all, sometimes they do run, but the…
Clay Wardell
  • 14,846
  • 13
  • 44
  • 65
5
votes
2 answers

Unique ids for jobs in a message queue?

I have an application which I'm writing which needs to perform long computations in the background, so I have essentially the following workflow: Client submits job to an edge "dispatcher" server. Dispatcher server submits job to message…
Naftuli Kay
  • 87,710
  • 93
  • 269
  • 411
5
votes
1 answer

Rabbit MQ connection limit?

I am working on the messaging framework that listem and publish to the Rabbitmqserver in java following is the code ConnectionFactory factory = new ConnectionFactory(); factory.setHost(hostName); factory.setPort(portNumber); …
Rahul
  • 197
  • 4
  • 17
5
votes
1 answer

Spring AMQP/RabbitMQ and Hibernate Transaction Mananger

I have a Spring application that uses Hibernate and PostgreSQL. It also uses Spring AMQP (RabbitMQ). I am using the Hibernate Transaction manager configured as follows:
CAL5101
  • 303
  • 1
  • 3
  • 11
5
votes
1 answer

Synchronize one queue instance with multiple Redis instances

The Scenario: We have multiple nodes distributed geographically on which we want to have queues collecting messages for that location. And then we want to send this collected data from every queue in every node to their corresponding queues in a…
vaidik
  • 2,191
  • 1
  • 16
  • 22
5
votes
2 answers

Designing a good interface for using RabbitMQ from ASP.NET MVC and worker apps

Looking into building a web app that runs on MVC4 at AppHarbor. In the interest of responsiveness and performance, slightly longer running tasks (typically, generating/sending emails, resizing images, payment transaction processing etc) would be…
Rune Jacobsen
  • 9,907
  • 11
  • 58
  • 75
5
votes
2 answers

ESB for Python?

At work we're debating choosing an off-the-shelf full-stack ESB (Enterprise Service Bus -- http://en.wikipedia.org/wiki/Enterprise_service_bus ) versus rolling our own around an AMQP system such as RabbitMQ. Part of the concern is that our ecosystem…
taiganaut
  • 196
  • 2
  • 8
5
votes
1 answer

working with high-availability RabbitMQ server pair via WCF

I'm trying to figure out what is the best solution to work with rabbitmq cluster via wcf. Current setup: 2 IIS web servers (act as message produces and post messages to queue via amqp wcf client). 2 servers with rabbitmq broker (clustered with…
rk4n
  • 53
  • 1
  • 4
4
votes
1 answer

Is it possible to host a RabbitMQ Server publicly over the internet?

I need a Messaging system to be accessible to remote distributed clients over the Internet. It needs to be secure and encrypted (SSL?). Does RabbitMQ support this natively or will I need to use a WCF Wrapper? Both the Server and the Clients are…
ravi
  • 949
  • 11
  • 22
4
votes
0 answers

akka amqp heartbeat option and fault tolerance

So I'm not seeing a way to easily tune the connection factory for the AMQP module. It's embedded deep enough in a package private class that short of explicit structural type casting, it doesn't seem like there is a way. I need to enable…
Ilya Sterin
  • 697
  • 1
  • 5
  • 6
4
votes
1 answer

Scheduling many jobs to be executed by timestamp

I have a producer that reads from a twitter stream and places tasks on a queue using rabbitmq as the message broker. The jobs usually takes around 3-5 seconds to execute and at the end of the job I would notify the user when it is done. However, I…
James Cowhen
  • 2,837
  • 3
  • 24
  • 32
1 2 3
99
100