- Posted by: sheetal P
- Posted on: April 18 2003 10:04 EDT
We use ATG Dynamo 5.1 for our App Server
needs and currently doing EJB deployment on the dynamo
container. We are planning on deploying the J2EE
application on a dedicated instance of dynamo. All
other instances(sites) would perform a JNDI lookup and
invoke methods on the EJB's that is hosted by this
dedicated instance's container.
The concern is now the single point of failure that
might happen with this solution. Since all the sites
lookup to this dedicated instance for their service
needs, if that instance comes down for some reason,
then all the sites would fail from that required
service perspective. The question is, how do I go
about achieving the fail-over feature with EJB's? Is
there a way the stubs could be made cluster-aware and
if one of the servers instance is down, could
automatically route the JNDI/RMI-IIOP request to
another server/instance? Is this feature available in
Dynamo 5.1? I know that other popular app servers
like BEA etc have this feature built in.
If this feature is not available in ATG, the second
question comes up and that is : Is there a way this
could be achieved at the Application level code? I am
throwing my 2 cents here: If I catch the
CommunicationException and have the request routed to
another instance on another backup server? Is this
possible? Will there be a performance hit?
Thanks in advance for your help!
To add clustering to an Java / J2EE app, you can use Coherence. It provides peer-to-peer clustering support (auto-membership, death detection, failover), clustered state (coherent data structures) and grid support (invocation service).
Coherence: Easily share live data across a cluster!