[rabbitmq-discuss] Robust zone-aware topology?

Matthias Radestock matthias at rabbitmq.com
Fri Feb 28 08:29:41 GMT 2014

On 28/02/14 00:45, Mordy Ovits wrote:
> I don't think [queue federation] matches my workflow pattern.  The
> federated queues documentation says: "The federated queue will only
> retrieve messages when it has run out of messages locally, it has
> consumers that need messages, and the upstream queue has 'spare'
> messages that are not being consumed."
> To my mind, that means that if the miami queue has a consumer and the
> miami queue is empty, the miami queue will "steal" a message from the
> new_york queue.  But it could do that even if there are consumers in
> New York consuming from the new_york queue.  (Right?)  IOW, with
> federated queues the decision for when a message hops queues is when
>  the downstream "needs" one, not when the upstream queue has no
> consumers.

As the sentence you quoted states, the criteria for when messages are
pulled down is threefold. In particular note the last part, i.e. "the
upstream queue has 'spare' messages that are not being consumed". In
other words, messages are only pulled to the downstream if the upstream
consumers cannot keep up.

> My messages are tasks that are best done locally, but can be done
> from another zone albeit with a penalty.

Right, so in the event that upstream consumers cannot keep up, messages 
would be pulled to the downstream and processed by downstream consumers, 
albeit more slowly. That results in a higher overall throughput than 
leaving the messages on the upstream. Can't see what's wrong with that.


More information about the rabbitmq-discuss mailing list