[rabbitmq-discuss] Clustering Issue
matthias at lshift.net
Fri Aug 28 22:51:56 BST 2009
Jorge Varona wrote:
> I've noticed some issues with clustered boxes that are weird. For
> example, in a two-box cluster I have Client A sending messages to Server
> A and Client B pulling messages from Server B. We already know that if
> we shut down Server A (it was first to declare a queue) messages stop
> being delivered to Server B and in turn Client B. The strange behavior
> I've noticed is that if I bring Server A back up and send messages to it
> they are not relayed to Server B, which has Client B attached. Only
> after I restart Server B do messages begin to be relayed to Client B.
When node A dies, as far as B is concerned all the queues on A die too.
If client B attempted a 'basic.get', or indeed any other operation on
any of A's queues it would get a 'not_found' error.
BUT - and this is what you are seeing - there is no way in AMQP to
inform existing subscribers that a queue has vanished.
This isn't just a problem for clustering - you can run into the same
issue on just a single node if one client consumes from a queue and
another client removes that queue.
> Here are my assumptions:
> 1. Queues exist only on the server on which they were first declared.
> 2. Nodes within a cluster relay requests to the server on which the
> queue exists instead of messages being relayed to the server after first
> are there efforts to address these issues/scenarios?
It is possible that AMQP 1.0 addresses this. Not sure.
More information about the rabbitmq-discuss