[rabbitmq-discuss] Active/active HA setup
jiri at krutil.com
jiri at krutil.com
Thu Sep 2 16:09:20 BST 2010
Hello together
We are considering an active-active high availability broker setup and
I wanted to check if there is someone here who could help with
experience/advice.
We plan to run two RabbitMQ brokers with the same setup (same queues,
exchanges, bindings), which are independent and not aware of each
other. These would be behind a load balancer, so this should be
transparent to client applications.
We use AMQP for two things:
- pub/sub broadcasts from back-end to clients (all clients bind to the
same topic exchange)
- P2P request-response, where back-end responds to client requests
(all clients send to the same request queue)
We have only one back-end server that serves the clients. Of course
the back-end would have to publish broadcasts to and consume requests
from both brokers.
When one broker dies, the clients will re-connect via load balancer to
the other broker and continue. Of course any messages on the dead
broker will be lost. We don't use persistent messages and can live
with messages being lost.
So far I have only identified one problem - the order of message
delivery across brokers. Since the design of our client-server
interface relies on the guaranteed order of message delivery, we would
probably have to force clients to put request sequence numbers to
message headers, remember the last seen request number on the back-end
for each client, and throw away any requests out of order.
Any ideas or hints will be much appreciated.
Cheers
Jiri
Deutsche Boerse Systems AG
More information about the rabbitmq-discuss
mailing list