[rabbitmq-discuss] Acknowledging messages across the federation

Simon MacMullen simon at rabbitmq.com
Thu Jun 6 17:17:09 BST 2013


On 06/06/13 16:51, Pete Emerson wrote:
> Whoops, replied back to Simon instead of the list.
>
> I have a policy of "^amq\." with federation-upstream-set: all, isn't
> that federating the random exchanges already?

That federates the built in exchanges. I was talking about using the 
random exchange: https://github.com/jbrisbin/random-exchange

> I'm not clear what you mean by "any exchange which will only route to
> one consumer". Are you suggesting that the code route the message to a
> desired consumer, instead of taking advantage of rabbitmq itself?

Sorry, I was typing too quickly. I meant "any exchange type which will 
only route to one queue". The random exchange and consistent hash 
exchanges are examples of such types.

If you federate such an exchange, you'll end up with each message only 
on one node in the federation. But in general federated exchanges are 
designed to make sure that every subscribing queue gets a copy of the 
message - and acknowledgements then only remove the message from the 
queue locally.

There isn't currently an easy answer for federated worker queues (that's 
why we're working on a federated queue implementation!)

Cheers, Simon

> On Thu, Jun 6, 2013 at 3:19 AM, Simon MacMullen <simon at rabbitmq.com
> <mailto:simon at rabbitmq.com>> wrote:
>
>     On 05/06/13 21:03, Pete Emerson wrote:
>
>         When I send a message to my federated exchange, two workers (one
>         in each
>         cluster) gets the message.
>
>         What do I need to do in order to have only one worker get the
>         message,
>         instead of one per federation?
>
>
>     Federation is currently a poor fit for worker queues since you can
>     only federate exchanges; federating an exchange means that messages
>     published to that exchange can be consumed in all locations.
>
>     You might be able to rig something up by federating the random or
>     consistent hash exchanges, any exchange which will only route to one
>     consumer.
>
>     We are working on implementing federated queues, which will
>     hopefully be the correct solution for your problem.
>
>     Cheers, Simon
>
>     --
>     Simon MacMullen
>     RabbitMQ, Pivotal
>
>
>
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>


-- 
Simon MacMullen
RabbitMQ, Pivotal


More information about the rabbitmq-discuss mailing list