[rabbitmq-discuss] Understanding Federation

Simon MacMullen simon at rabbitmq.com
Thu Feb 23 11:10:43 GMT 2012

On 23/02/12 10:56, MELIQUE Denis (MORPHO) wrote:
> I’m doing some testing with federation plug-in to try to understand it.



> What are these Exchange and Queues used for ?

The queue is there to buffer messages that are published to the upstream 
exchange and have not yet been consumed from the downstream exchange.

It is bound to the internal exchange with the union of all the bindings 
that are in use downstream, so we only transfer messages that are going 
to be of use downstream.

The internal exchange is there so that whenever we (re)establish a 
federation link we can set up an exact set of bindings 
mostly-atomically, by creating a new internal exchange, creating all the 
bindings to it, then binding it to the upstream exchange.

> Are they reserved for federation internal use ?


> When do messages go into these queues ?

As mentioned, the bindings are pushed upstream so messages from upstream 
go into these queues if they will be routed once they get downstream.

> Do they have to be durable or is there a way to configure them as
> transient ?

At the moment they have to be durable. Is this a problem? The idea is 
that you can set the queue TTL if you do not want them to hang around 

> I would be very interested by a brief description of how federation
> works internally.

Hopefully this answers your question.

Cheers, Simon

Simon MacMullen
RabbitMQ, VMware

More information about the rabbitmq-discuss mailing list