Re: [rabbitmq-users] Should I use a local RabbitMQ server installation for reliability

28 views
Skip to first unread message

Michael Klishin

unread,
Nov 29, 2016, 5:55:36 AM11/29/16
to rabbitm...@googlegroups.com
Most popular client libraries support connection recovery but do not enqueue outgoing
messages because you can very quickly fill up all RAM and quite quickly fill up the disk.

RabbitMQ also offers publisher confirms:

What should applications do when they cannot connect to RabbitMQ is a domain/product-specific decision.

It is possible to run RabbitMQ on local nodes and use Shovel to move messages to a "central" cluster.
Shovel will enqueue outgoing messages internally when its connection is down. However, it will only do so in RAM.
Some use this topology and we don't recommend against it if you believe you trust Shovels move than your own
code.

On Tue, Nov 29, 2016 at 12:59 PM, Frank Tamminga <p.f.ta...@gmail.com> wrote:

I'm trying to get my head around RabbitMQ. 


The basic concepts are working in a test project, but what I need is the following:

My system will have one or more servers that react to real life events (telephony). 

These events will, by means of RabbitMQ, translate into messages that will be picked up by one or more receivers via a separate server, set up as RabbitMQ host. So far so good.


However, I cannot assume that I always have a connection between the publisher and the host (RabbitMQ) machines. Just assume that the publishing server will continue to consume the real life events, but cannot publish it's messages to it's RabbitMQ host.


So, the question is: Does RabbitMQ have some kind of mechanism to store messages locally some way until the connection is re-established? 

Or should I install RabbitMQ on every publishing server as well, in order to create a local exchange? Then I have to make the exchanges synchronize themselves after a reconnect.

--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-users+unsubscribe@googlegroups.com.
To post to this group, send email to rabbitmq-users@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
MK

Staff Software Engineer, Pivotal/RabbitMQ

V Z

unread,
Dec 7, 2016, 3:53:21 PM12/7/16
to rabbitmq-users
No need for shovels. You can just federate the queue (don't confuse with federating the exchange). The way queue federation works is that the downstream will pull the messages from the upstream if there is a consumer downstream. If there is no consumer, or there is no link, messages will be accumulating on the upstream until it runs out of disk space.
Reply all
Reply to author
Forward
0 new messages