Hi there,

First, you definitely want to use the application specific clustering, with
a load-balancer feeding to two or more, per island. If your not familiar
with Orion clustering, your in for a nice surprise..its VERY easy to do.
Orion even comes with its own software load-balancer that is "Orion aware"
and as you add more Orion app servers, they automagically appear on the
server that the Orion load-balancer is running on. You even see all incoming
requests, what server they went to, when a computer is added or taken away,
etc. There is a nice doc on the orion site, I forget the URL, that explains
a good deal on how to easily set up clustering. I have tried it and it
works.

The thing to know, however is that HttpSession data (the stuff that the
"state" of a client is stored in via a session), needs to be failed over, so
that if one server goes down, they are still connected via the session data.
If the HttpSession objects were not failed over, when a server went down,
everything in the clients "cart" (if say you were building a cart system),
would be gone. On our site, people have to log in. We store an object in the
HttpSession session for each client that indicates if they are logged in or
not. If the server they were on went down, they would no longer be logged
in, even if a load-balancer was in place and fed them to another server. The
idea behind Session fail-over is that you set up an island of web
servers..and in that island all HttpSession data is copied to each of the
servers. Therefore, if I am a new client and hit your ip (a load-balancer
for example), my request is sent to any one of x number of servers in a
specific island (a cluster). My HttpSession is created and its "replicated"
to all the servers in the island. Therefore, if you have 3 machines, each
machine gets not only its data, but the data of the other two servers..so
memory requirements go up a bit on each machine. With Orion, because of the
way it clusters, I would put 3 servers per island, with two islands, for
"minimum optimum fail-over". You don't have to put fast machines..a single
$1200 PIII or AMD Athlon based pc with 500MHz cpus are fine. I ran a simple
"login" load-test with 25 users on my PIII650 workstation with Orion, with
the Interbase database server running on it as well, and I was able to
achieve 4milliion pages per day. Ofcourse..it helps that it is on my local
box, but even if the database was on a different machine, I would achieve
similar results. And this with only 2 database connections in the pool!
Imagine the performance you can get from a 3-server cluster of 500Mhz PCs
with 1GB of memory each.

Anyways, you can cluster with 2 servers per island, but I recommend 3 simply
because if one goes down, you still have a cluster. I wouldn't go with
4..instead I would set up two islands, each with 2 computers if you can only
use 4 servers. You can easily add a machine to the island too. The reason
being..the more servers you have in an island, the more memory each will
need to handle the HttpSession objects of the other servers in the island.
Therefore, I think 3 is perfect, each with 1GB (or more) of memory. These
days, you can buy nice Dell servers for about $4K each with 900Mhz cpus, 1GB
memory, Ultra SCSI 160 hds, etc.

Hope that helps. Feel free to ask questions..


> -----Original Message-----
> From: Neal Kaiser [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, October 25, 2000 2:04 PM
> To: Orion-Interest
> Subject: Clustering Advice, Software or Hardware
> 
> 
> We are soon going to develop a J2EE app using Orion and I 
> want it to have 2
> webservers for failsafe and load balancing.  In the past I've 
> used load
> balancing routers, like the Web Server Director.  Has anyone had good
> experience with clustering in a production environment? What 
> are the pros
> and cons of hardware vs software clustering?
> 
> Thanks, Neal
> 

Reply via email to