In Fabric mode of setup that you have there is no concept of passive node for karaf containers , you can have your routes deployed with camel master component to provide the master slave configuration to the route , the master component can be referred from here.Red Hat JBoss Fuse - EIP Component Reference - Master Component
Thanks for your reply. I am sure that we can have Master Slave topology for fabric containers since fabric containers are built on top of karaf and we can have container level lock to implement Master slave topology. We have also implemented this earlier in one of our projects which used fabric in JBoss Fuse.
I know about fabric and master component of camel for implementing load balancing and cluster for camel components. Also recently they have introduced fabric gateway for implementing HA, Load balancing and fault tolerant for CXF service and JMS servers. But these apply for component level implementation.
I am just trying to find out whether we can achieve Master Slave switching from container level lock configuration. My question now is how to configure fabric container using container level locking in such a way that at any given time there would be 3 active master nodes and 2 passive slave nodes.
As of now I have decided to use 3 Master - Slave pairs so at that any time there would be 3 active and 3 passive nodes. Also planning to implement Fabric and Master camel components for camel endpoints and to use Fabric gateway for CXF and JMS to achieve over all HA, Load balancing and Fault tolerance in PROD env.
Any suggestion on this is highly appreciated. If the above approach is not an ideal way of doing it then some one can point me to the right direction so that I can have a look at it.
That is true you can edit the system.properties file to exploit the karaf functionality to provide master slave , there the lock depends either on the file system or jdbc and the container lock lets you decide what level of standby node you need. In this mode you can always have one active container and multiple slave containers which have their startup level tweaked . I haven't seen it being used along with fabric . Fabric is all about profiles and generally discourages the changes being made to the file level ( one reason being the zookeeper would flush all the changes held in the master node and could ignore the changes done at the file level after the synch,in this case it will be not be relavant though ) .
You could probably try using autoscale to define how many nodes need to be always running in a fabric and fabric would automatically spin up the nodes. Suppose you want three nodes running , you can specify the minimum instances on the profile and when one node goes down , fabric would automatically spin up the extra node ( only issue here is that fabric will not attempt to restart the node , it will simply create a new node , which probably is not always good ).
I would in my experience discourage using the locks for karaf containers , though it is possible . Hope that helps
Sundar M R