[rabbitmq-discuss] Clustering Behaviour

Max Manders max at maxmanders.co.uk
Sun Aug 18 13:34:44 BST 2013


I don't have much experience using RabbitMQ, certainly not programmatically 
as a producer or consumer.  However, I've been asked to set up an HA 
RabbitMQ environment.  I'm using EC2 (implementation detail, assume I know 
what I'm doing with that respect).

I have a cluster configured according to `rabbitmqctl cluster_status`. 
 However, what I don't understand, as someone who hasn't interacted much 
with AMQP is around how things are distributed and how clients connect.

If I configure the cluster to use mirrored queues, I'm also working on the 
assumption that nodes may be transient and might get terminated and created 
via scaling events.  If a node dies, I can see via `rabbitmqctl 
cluster_status` that the node is still part of the cluster, but not a 
'running node'.  What are the implications of this?  If a client requests a 
message from a queue via an exchange, will the cluster service the request 
from an available node, knowing not to use the dead node?  Do I need to 
worry about cluster nodes versus running node; will the cluster remove a 
node that hasn't been running for some time, or should I programmatically 
clean up dead nodes?

Also, how do clients connect to a cluster?  Do I put a load balancer in 
front of a cluster and have an application connect to the load balancer? 
 Or should an application connect to a particular cluster node, or any 
cluster node?  Apologies for the questions, but I'm not developing the app, 
just providing the infrastructure / middleware; not a fan of doing so 
without having a better understanding.

Any help, gratefully received!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20130818/e0d130ce/attachment.htm>

More information about the rabbitmq-discuss mailing list