[rabbitmq-discuss] Active/active HA setup

Jiri Krutil jiri at krutil.com
Thu Sep 2 21:46:38 BST 2010


Sorry I probably didn't express myself well.

We don't plan a primary and secondary broker, but a pair of brokers that 
are both active at the same time. A load balancer divides client 
connections to these brokers. A request queue with the same name exists 
on both brokers, but with different contents. Some clients send requests 
to one broker, some to the other. Our back-end server listens to both 
queues, processes requests and sends each response to an exclusive 
client queue on the broker from where the request came.

Ideally this would be transparent to the clients, because the brokers 
would be hidden by a virtual IP address. Of course it can't be 
transparent to the back-end server, which needs to talk to both brokers 
at the same time.

So (a) is correct, but (b) not.

Hope that makes it a bit clearer...


> Jiri
> That answered my questions.  Now, as I understood your example:
> a. you don't mind messages being lost
> *and*
> b. you don't use the secondary until after the primary has failed.
> Note that if consumption is completely 'fire and forget' then it is 
> possible that a message from the primary may *arrive* after a message 
> from the secondary.  But this can happen whether you use sequence 
> numbers or not.
> So if the primary broker fails, why not just forget all undelivered 
> messages?  Consumers will know that any message consumed from the 
> secondary must be later in *all* orderings than any message consumed 
> from the primary.  So, additional sequence numbering is not necessary.
> alexis

More information about the rabbitmq-discuss mailing list