On 10/04/2012 01:29 PM, Terance Dias wrote:
We are trying out qpid with async replication. We have multiple clients
accessing the master node for reading and writing messages. If the master
node goes down, the client that tried to access it failsover to the slave
node.
The problem that we are facing is that if the master recovers and one of
the other clients that had not tried to access the master node (while it as
down) would not have failed over to the slave and will continue to access
the master. So I could end up having some of my clients accessing the
master while some are accessing the slave. This could lead to inconsistent
state of the queues.
My question is how do i get all my clients to failover all at once. I
realize that perhaps this is not a problem that qpid should solve and maybe
should be solved outside of qpid but I just want to know if anybody has
faced similar problem before. I guess setting up circular replication (so
that both nodes are in sync) could help but qpid doesn't support circular
replication. Any thoughts?
Is the async replication you are using as described here:
http://qpid.apache.org/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/queue-state-replication.html?
If so you may be interested in a newer and more powerful mechanism:
http://qpid.apache.org/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/ch01s14.html
and
http://qpid.apache.org/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/chap-Messaging_User_Guide-Active_Passive_Cluster.html
This new HA module is available in the 0.18 release and will replace
both the active-active cluster and the async queue replication from
release 0.20.
It includes the ability to reject clients when not the master,
replication can be stopped and started simply (a problem with the old
approach) and acknowledgement to publishers is delayed until replicated
(which is useful for client based replay).
The actual management of brokers (promotion of master etc) is done using
rgmanager or similar cluster management tool. At present there are
scripts only for rgmanager, but it would not be difficult I don't think
to use pacemaker or some other tool.
What platform are you running on?
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]