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.
- 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...