[rabbitmq-discuss] RabbitMQ cluster w/ .Net client

Simon MacMullen simon at rabbitmq.com
Wed May 25 14:14:18 BST 2011


On 23/05/11 20:15, Yann Luppo wrote:
> Hi,
>
> I've read many posts and blogs at this point and I'm still not sure
> about how to cluster correctly my 2 RabbitMQ nodes.
>
> I've read the RabbitMQ clustering
> guide:http://www.rabbitmq.com/clustering.html
>
> I found out about a mysterious ClusterId in the API guide, with no
> explanation on how to get that Id in the first
> place:http://www.rabbitmq.com/releases/rabbitmq-dotnet-client/v2.4.1/rabbitmq-dotnet-client-2.4.1-api-guide.pdf

The ClusterId is not documented because it doesn't do anything in 
RabbitMQ. In fact it was never well defined and was deprecated in 0-9-1. 
I'm not sure what it's still doing in that guide; I've filed a bug.

> Learned in that StackOverflow post that basically I'd need my clients to
> be aware of each node in the cluster and code for failover
> scenario:rabbitmq HA cluster
> <http://stackoverflow.com/questions/4140653/rabbitmq-ha-cluster>
>
> Now... The behavior I'd like to have is something a little more
> transparent if possible. Where I would potentially use that "ClusterId"
> on the client to make the consumer cluster aware and then hopefully the
> library knows to randomly connect to either node to grab messages.
>
> Granted I know a message can only be on one server at a time, so I'm
> hoping for some round robin magic from the DotNet client library that
> would also handle fail over situations.

I'm afraid that all the client libraries just know how to connect to the 
host you give them.

> Basically I was hoping for the whole thing to scale without changing any
> code or configuration on the publisher or consumer apps.
>
> Now based on my readings it doesn't quite work like that... unless I
> missed something. If my knowledge is up to date and I have to code all
> that cluster aware business, then... why does RabbitMQ have a cluster
> feature in the first place? How is it used?

Clustering exists to:

* Allow you to get higher throughput than a single node can manage.

* In the near future, allow queues to exist on more than one node, and 
survive node failure.

Cheers, Simon

-- 
Simon MacMullen
Staff Engineer, RabbitMQ
SpringSource, a division of VMware



More information about the rabbitmq-discuss mailing list