[rabbitmq-discuss] How to recover/replace an upstream node?

Simon MacMullen simon at rabbitmq.com
Tue Nov 27 10:47:30 GMT 2012


On 27/11/12 03:25, David Buckingham wrote:
> We've made good progress vetting the Federation Plugin and are
> pleased with what we've seen thus far.

Cool!

> Currently, we've deployed 3 RabbitMQ nodes and configured the
> Federation Plugin such that:
>
> Exchange A <--> Exchange B <--> Exchange C
>
> For our purposes, messages published to Exchange A can be received by
> a Queue bound to Exchange C and messages published to Exchange C can
> be received by a Queue bound to Exchange A.
>
> My question is this.  Let's assume that the server hosting Exchange B
> suffers a catastrophic failure.  As I understand it, and as we've
> seen in our configuration (by stopping Rabbit on node B), messages
> will queue up in the Internal queues for both Federated Exchanges A &
> C.  If such an event would occur, how does one recover in such a way
> that the Internal Queues can drain naturally as configured?
>
> I tried to provide enough details, but may not have been that clear.
> Please let me know if there are any questions.

Hmm. I'm not sure I fully understand. Are you asking how to set up a new 
node B from scratch such that it can replace the old node B, or how can 
you remove B from the federation leaving A and C, and remove the 
federation infrastructure for B on A and C?

If the former: ensure the new node has the same DNS name as the old, and 
set its local node name 
(http://www.rabbitmq.com/federation.html#other-config) to be the same, 
and the other nodes should connect and pick up where they left off.

If the latter: just delete the appropriately-named queues (scripting 
with rabbitmqadmin and grep may help here). Or set a queue expiry in the 
first place and they will be automatically deleted after a while.

Did I understand correctly?

Cheers, Simon

-- 
Simon MacMullen
RabbitMQ, VMware


More information about the rabbitmq-discuss mailing list