[rabbitmq-discuss] Architecture question

Jelle Smet smetj.net at gmail.com
Sat Nov 5 21:00:02 GMT 2011

Hi all,

I'm looking for advice on the best approach to cover this scenario:

I have many clients spread over multiple (trusted) data centers.  Data 
centers are linked to each other by WAN speed connections.
Each client should have its own queue.
I have 1 producer which should be able to submit messages which arrive to 
whatever queue, wherever.
Ideally the producer just has to submit a message to an exchange with the 
routing key matching the queue and done.

The problem is that:

   - I can't let all clients connect over wan to a centralized broker since 
   it would strain the wan links too much.
   - I can't cluster the brokers over wan as this is not advised to do. 

I could:

   - make my producer aware to submit messages to the correct broker by 
   keeping a map of which host is connected to which broker, but I would 
   really like to avoid that.
   - create on the broker on which the producer connects for each remote 
   location a queue which shovels (shovel plugins) the message to each remote 
   broker. When the queue doesn't exist on the local broker or remote broker, 
    the message is not routed.  For the location the queue exists it arrives. 
    This however feels a bit of a "hacky" solution, if I have 10 sites, I send 
   9 useless message, ...

Any advice would be appreciated.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20111105/a7e6a102/attachment.htm>

More information about the rabbitmq-discuss mailing list