what is the best way to support High availability

Hello all

i have application that making remote application invocation using some times corba and sometimes

web services but this is not the impotent issue the issue is that i need support High availability with the application server .

that is how to detect when the application server is down and how to connect to the second one when

i need to support it programmatically

i know the ips of my backup servers so i could connect them when my main server is down.

remote invocation is preformed .is there any well known pattern or way ?

i know that the simple form is round robin algurithem. ?

[647 byte] By [Meirya] at [2007-10-3 10:58:54]
# 1
either a) use an application server that supports clusteringb) use a load balancer in front of you application servers.In both cases the client does not need to know about the fallback servers as this is handled transparently.matfud
matfuda at 2007-7-15 6:25:15 > top of Java-index,Other Topics,Algorithms...
# 2
hi and thanks for the fast reply but i need to find solution inside my application that is relative simple algorithm to support it
Meirya at 2007-7-15 6:25:15 > top of Java-index,Other Topics,Algorithms...
# 3
From your set of available servers chose one at random if at any time you loose connectivity then chose another one. Note that if you are using session based information in your queries then you likely will have problemsmatfud
matfuda at 2007-7-15 6:25:15 > top of Java-index,Other Topics,Algorithms...
# 4
> hi and thanks for the fast reply but i need to find> solution > inside my application that is relative simple> algorithm to support itYou need a design, not an algorithm. The algorithm is trivial.
dubwaia at 2007-7-15 6:25:15 > top of Java-index,Other Topics,Algorithms...
# 5
is there any known design for this type of scenario?
Meirya at 2007-7-15 6:25:15 > top of Java-index,Other Topics,Algorithms...
# 6

I know of one. You create an abstraction as a communications layer. Every request to and from the app server goes through this layer. When a server failure occurs, this layer traps the error and attempts to fund an avaliable server and only failing when no good connection to any app server can be made.

I would also caution against hardcoding IP addresses into the client. A more robust apporach will retrieve a list of IPs upon a good connection and cache this list between application sessions. A default list can be delivered with the client code stored in a properties file.

dubwaia at 2007-7-15 6:25:15 > top of Java-index,Other Topics,Algorithms...