You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

These topics are about how to set up a cluster and perform server farming.

A cluster or server farm is a group of servers that transparently provide enterprise services, such as Servlets and JavaServer Pages (JSP) support, as if it were a single server. The servers, typically running on separate systems, exchange messages to synchronize data. Therefore, any individual node can process requests for a distributed application and take over a user's session when its node fails. Configuring multiple servers into a cluster is commonly called clustering.

Consider using a cluster of servers when you need to improve the scalability or the availability or your Web applications.

  • Clustering improves scalability. You can increase the system capacity by adding extra servers to the cluster. Load balancing is achieved by adding a component, like the remote Apache HTTP Server with the Apache Tomcat JK module that sprays requests to each node in the cluster.
    • Running multiple nodes on the same host, called vertical clustering, is used when limitations in a single node prevent it from fully utilizing the capacity of the host.
    • Running multiple nodes on different hosts, called horizontal clustering, is used to add capacity by adding an additional host. Horizontal clustering is more common than vertical clustering because it also improves availability.
  • Clustering improves availability by automatically synchronizing state data among all the nodes in the cluster. If any node in the cluster fails, any other node in the cluster can process the subsequent requests. This process, typically called failover, occurs on subsequent requests. Any requests being processed by a node when it fails will still be lost.

This section is organized as follows:

  • No labels