Date: 2001-11-06 11:59:30
"A cluster is a group of application servers that transparently
run your (J2EE) application as if it were a single entity. To scale, you
should include additional machines within the cluster. To minimize downtime,
make sure every component of the cluster is redundant. "
Machines
Clusters are composed of multiple machines that more or less know about
each other. This knowledge is not always equal. Some Clusters are just
a redirection of a request to a less loaded machine that can do the work.
Some other clusters share application memory and transactions.
Redundancy and failover
In addition to machines, clusters can comprise redundant and failover-capable:
-
Load balancers: Single points of entry into the cluster and traffic directors
to individual
-
Web or application servers
-
Web servers
-
Gateway routers: Exit points out of an internal network
-
Multilayer switches: Packet and frame filters to ensure that each machine
in the cluster receives only information pertinent to that machine
-
Firewalls: Cluster protectors from hackers by filtering port-level access
to the cluster and internal network
-
SAN (Storage Area Networking) switches: Connect the application servers,
Web servers, and databases to a backend storage medium; manage which physical
disk to write data to; and failover
-
Databases
Scalability and High Availability (HA).
Regardless of how they are implemented, all clusters provide two main
benefits: scalability and high availability (HA).
-
Scalability refers to an application's ability to support increasing
numbers of users. Clusters allow you to provide extra capacity by adding
extra servers, thus ensuring scalability.
-
High availability can be summed up in one word: redundancy. A cluster
uses many machines to service requests. Therefore, if any machine in a
cluster fails, another machine can transparently take over.
Source :
http://www.javaworld.com/javaworld/jw-02-2001/jw-0223-extremescale.html