Thanks for these prompt replies. Very helpful!

>> What do you mean? A network storage is already supposed to do that.
>> Nothing 
>> provides "real time" anyway, not even ZooKeeper, you always need to wait 
>> for a minimum time to detect that your master got faulty, and switch to 
>> another server. ZooKeeper and leveldb just make it must faster compared
>> to, 
>> i.e., 30 secs (default) for a lock expiration over NFS. 

Yes, I agree/understand that nothing provides real time anyway. What I meant
was I didn't want to rely on shared network storage for primary (master) and
failover (slave) broker. Instead, I was looking for a configuration wherein
slave broker will have its own local persistent store and replicate data
from the master broker. Is there anything like this available with kahadb
based persistent store?

I saw that such fully-replicated shared-nothing master/slave configuration
was present earlier (http://activemq.apache.org/pure-master-slave.html) but
removed in ActiveMQ-5.8. I realize that there is a replicated shared nothing
leveldb store but wanted to check if there is something like that with
kahadb based store (that uses zookeeper or something else for deciding the
master)? 

I also came across http://activemq.apache.org/kahadb-master-slave.html which
says such support is under review, I am not sure about its status.

If such support is not available, I guess I will have to move to a leveldb
based persistence store instead of kahadb.

>> Didn't you say that you're already using it? As you know, in 
>> master/slave(s) only one server is active and working at a given time. So 
>> of course all the clients connect to a single instance (the master). 
>> Master/Slave discovery in a network of brokers only tells a server that 
>> he's going to be in a network with a master/slave structure, and as such 
>> he's already given a list of alternatives urls to be able to find the 
>> master. The server though won't replicate anything from the master/slave 
>> structure, as messages are inside only one server (or one master/slave 
>> structure, if you prefer) at a given time. For the rest of the question 
>> still look at http://activemq.apache.org/masterslave.html

I am using simple master/slave configuration without any network connectors
or network of brokers. I am just running 2 brokers both contending for lock
on shared state to decide which is master. What I want to achieve is
master-slave with a network of brokers such that there is 1 master and say 5
slaves and all are replicating state from master into their own local
persistence store in near real time without any sharing. It's not clear to
me if master slave discovery in network of brokers will help achieve that
and how master-slave discovery is different from master-slave config from
client perspective.

Am I right in understanding that master-slave discovery only lets each
broker in a "network of brokers" to be a master-slave pair instead of a
single broker instance (for high availability)? And each master slave pair
relies on shared state here. 

Is there any way to achieve shared nothing fully replicated configuration in
a network of brokers wherein there is only one master at a time and all
clients are connected to this one instance (with support for reelection of
new master when current master goes away)? 

Thanks,
Deepak




--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Avoiding-shared-state-between-master-and-slave-brokers-tp4686401p4686405.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to