hi
I am trying to use JBoss cache as a synchronously replicated cache inside jboss. There are
other jboss/ejb applications running that rely on this replicated data.
I have couple of failure scenarios that I need to protect against.
1) first one is the simplest one: when the whole node goes down. This case is taken care
of as other applications depending on the cache use only other nodes.
The other two scenarios are a bit complex:
2) If the nodes are running fine, but the connectivity between the JBossCache JGroup
nodes is affected. That is other applications using the cache are not aware of this.
3) If the nodes are running fine, but only the multicast traffic amongst the JBossCache
JGroup nodes is affected.
One possible solution to this problem is to invalidate all other cache replicas except one
and then somehow route all application requests to that jboss instance. That would mean
that if there are some EJBs that are clustered and they should be disabled on these
invalidated cache nodes.
How can this be done?:
- Stateless session bean, since client stub participating in a different jgroup discovery
might still see all the nodes alive and continue load-balancing. Is it possible to
programmatically start/stop SLSB pool?
Or Stateless bean could check for cache invalidation and throw exception that hints the
client to retry request, but it might still land up on the same node depending on the
concurrency of requests and since stub is not aware of this exception.
- Message driven bean: Is it possible to programmatically start/stop MDB pools?
Or i guess (not sure) if MDB's could throw some exception in onMessage(), and the
load-balancing logic in the external jms provider will try to route those messages to
other MDBs.
Other possible solutions for high-availibilty through redundency:
(on top of the above)
Is it possible to configure a redundant network route for JGroups to fallback on?
Or is it possible to configure redundant multicast JGroups for one JBossCache and somehow
bind these multicast address with different routes/nic?
Or is it possible to configure JGroups with two physical network interfaces, so it can
decide to use either one of them.
thanks
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3974959#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...