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

Are topic exchanges the only exchanges that support wildcards?

In trying to understanding the difference between direct, fanout and topic exchanges, I want to confirm that the advantage of a topic exchange is that a producer pushes to an exchange and specifies a fully specific routing key, and queues can bind…
djechlin
  • 59,258
  • 35
  • 162
  • 290
5
votes
1 answer

What is the intended use of amq.topic?

What is the purpose of the predefined amq.topic exchange? Am I allowed to use it for my own purposes?
Andreas Öhlund
  • 5,263
  • 20
  • 24
5
votes
2 answers

Python IPC - Twisted, RabbitMQ,

I want to create 2 applications in Python which should communicate with each other. One of these application should behave like a server and the second should be the GUI of a client. They could be run on the same system(on the same machine) or…
Wojciech Danilo
  • 11,573
  • 17
  • 66
  • 132
5
votes
4 answers

RabbitMQ exchanges: default vs. direct

I have exactly 2 types of messages that I want to be sent via RabbitMQ. So I have 2 options how I can do this: sent a message to default empty-named exchange with routing_key corresponding to the queue name use direct exchange's routing_key…
Vadim Samokhin
  • 3,378
  • 4
  • 40
  • 68
5
votes
2 answers

Set Message TTL to one hour RabbitMQ

How can I set the message TTL ( Not the Queue ) from either the Exchange ( The exchange sends to multiple queues ) Message ( when publishing the message ) Queue ( On the queue itself but again this is the Message TTL and not the Queue TTL ) I'm…
Phill Pafford
  • 83,471
  • 91
  • 263
  • 383
5
votes
2 answers

Service oriented architecture - Transport layer (http vs messaging)

We've looking at moving splitting up our architecture (and adding new components) using a Service Oriented Architecture (SOA). There will be a number of external API's that will be used by third parties, which we will make using a REST HTTP…
Ben
  • 1,767
  • 16
  • 32
5
votes
1 answer

Many subscriptions to a single queue with RabbitMQ STOMP

Is it possible to bind a single queue to many topics using RabbitMQ STOMP client? Each time a client sending SUBSCRIBE frame server creates a new queue for it, it makes usage of "prefetch-count" useless for me, because it applies to each…
5
votes
1 answer

using default exchange in rabbitmq-c

I am trying to connect to rabbitmq-c in centos 5.6 and test its function in c client following the steps of the website: http://www.rabbitmq.com/tutorials/tutorial-one-java.html. However, it fails when I use the default exchange. For example, I…
Hugo
  • 65
  • 1
  • 1
  • 5
5
votes
1 answer

Can I use a Request / Reply - RPC pattern in Rails 3 with AMQP?

For reasons similar to the ones in this discussion, I'm experimenting with messaging in lieu of REST for a synchronous RPC call from one Rails 3 application to another. Both apps are running on thin. The "server" application has a…
Bobby Norton
  • 1,494
  • 11
  • 23
5
votes
2 answers

How to get RabbitMQ management command line tool to work on Windows

I've followed the instructions RabbitMQ management command line tool but when running with python.exe rabbitmqadmin.exe Gives me an error: ERROR: Action not specified and: rabbitmqadmin --help displays: Is this really the case or am I doing…
Christian
  • 7,433
  • 4
  • 36
  • 61
5
votes
1 answer

Why doesn't Channel.waitForConfirmsOrDie block?

I have a publish-subscribe use case where I would like to block on the publish side until each of the subscribers confirm that they have completed handling the message sent by the publisher. I (incorrectly?) assumed that I could use RabbitMQ and…
xnickmx
  • 1,037
  • 1
  • 11
  • 18
5
votes
2 answers

Symfony2 and RabbitMqBundle. Can't publish a message

I am trying to use syfmony2 framework with RabbitMqBundle from here I am sure that my rabbitmq server is up and running and I am doing the configuration and publishers code accordingly to the docs delivered on github. Unfortunately I can`t add any…
Gabriel Filipiak
  • 966
  • 12
  • 24
5
votes
1 answer

Designing a Java OSGi application using RabbitMQ while using PreparedStatement

I am designing an application that will run in an OSGi container (currently Equinox). It will receive messages over RabbitMQ and process them internally. The application will run continually as a server. My current plan is to have the RabbitMQ…
John Simmons
  • 461
  • 1
  • 5
  • 10
5
votes
1 answer

Disadvantages of MySQL Row Locking

I am using row locking (transactions) in MySQL for creating a job queue. Engine used is InnoDB. SQL Query START TRANSACTION; SELECT * FROM mytable WHERE status IS NULL ORDER BY timestamp DESC LIMIT 1 FOR UPDATE; UPDATE mytable SET status =…
Nyxynyx
  • 61,411
  • 155
  • 482
  • 830
5
votes
3 answers

Low latency message queue

Basically I have one master node that distributes tasks between worker nodes. Number of workers could change, that means that the workers could not be hard coded at the server side. Master submits a task to the queue and one of the workers takes…
andrershov
  • 460
  • 3
  • 12
1 2 3
99
100