[rabbitmq-discuss] Distributing Tasks to Worker Queues Across Federated Exchanges

Chris stuff at moesel.net
Tue Dec 18 13:55:03 GMT 2012


Hello,

I'm new to Rabbit (and AMQP!) and am trying to determine if my requirements
are possible to implement in RabbitMQ.  I hope so, because I really like a
lot about what I've seen so far!

I have a federation of brokers (let's say two: A and B).  They are
federated because they are across WAN, so I know clustering will not work.
 I would like to setup worker queues so that if I submit a job to an
exchange/queue, it will be processed by one and only one consumer across
the federated brokers.  Ideally, it should also prefer local consumers
before going to federated consumers.

For example:

Broker A: Workers listening on queues with routing keys X & Y
Broker B: Workers listening on queues with routing keys Y & Z

1) Submit job with routing key X from Broker A: Should go to Consumer of X
on Broker A
2) Submit job with routing key Y from Broker A: Should go ONLY to Consumer
of Y on Broker A
3) Submit job with routing key Z from Broker A: Should go to Consumer of Z
on Broker A

I tried this with federated direct exchanges (one link in each direction),
but in case #2 above, the job will get distributed to consumers of Y on
BOTH Broker A and Broker B.  Even if i set up the consumers to use the same
queue name, it seems they are logically different queues since they are
different brokers.

I'd really like to find a way this will work with RabbitMQ, else I will
probably need to evaluate other options...  and I don't want to do too much
of that, because Rabbit looks awesome!

Thanks,
Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121218/e622df1c/attachment.htm>


More information about the rabbitmq-discuss mailing list