<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px">Hello,</span><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">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!</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">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.</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">For example:</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">
Broker A: Workers listening on queues with routing keys X & Y</div><div style="font-family:arial,sans-serif;font-size:13px">Broker B: Workers listening on queues with routing keys Y & Z</div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">1) Submit job with routing key X from Broker A: Should go to Consumer of X on Broker A</div><div style="font-family:arial,sans-serif;font-size:13px">2) Submit job with routing key Y from Broker A: Should go ONLY to Consumer of Y on Broker A</div>
<div style="font-family:arial,sans-serif;font-size:13px">3) Submit job with routing key Z from Broker A: Should go to Consumer of Z on Broker A</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">
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.</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">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!</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Thanks,</div><div style="font-family:arial,sans-serif;font-size:13px">Chris </div></div>