[rabbitmq-discuss] RabbitMQ production setup questions around clustering

Aaron Westendorf aaron at agoragames.com
Thu Jul 22 13:33:48 BST 2010

On Thu, Jul 22, 2010 at 8:05 AM, Alexandru Scvortov
<alexandru at rabbitmq.com> wrote:
> The queue is created only on that one node, but is accessible from all
> nodes in the cluster.  All nodes in the same cluster are functionally
> interchangeable, i.e. it doesn't matter which of the nodes you connect to,
> you can still use the queue.

Interesting, I was not aware of this subtlety which is why I went with
the PO analogy when describing how our cluster works.  So I can
connect to any host in the cluster, call basic.consume(), and receive
messages from a queue that resides on another host?  What about the
case where multiple clients start at the same time and they each
declare the queue and its bindings (identically)?  I swear that we
tried this exact setup, maybe in the 1.5 series, and we kept getting
dropped messages.  This has a big effect on how one can go about
clustering and failover, and matches our original plan for a generic
pool of rabbit hosts.

We have very wide pipes between our hosts, but there's still overhead
in handling inter-node traffic.  Is there an optimal setup, such as
all consumers of a queue connected to the host on which it resides?


Aaron Westendorf
Senior Software Engineer
Agora Games
359 Broadway
Troy, NY 12180
Phone: 518.268.1000
aaron at agoragames.com

More information about the rabbitmq-discuss mailing list