A cluster of application servers consists of multiple server instances (cluster nodes) running simultaneously and working together to provide increased scalability and reliability. The nodes that make up the cluster can be either located on the same machine or on different machines. From the client's point of view, this is irrelevant because the cluster appears as a single server instance.
Introducing clustering in your applications will produce the following benefits:
Scalability: Adding a new node to a cluster should allow the overall system to service a higher client load than that provided by the simple basic configuration. Ideally, it should be possible to service any given load, simply by adding the appropriate number of servers or machines.
Load balancing: In a clustered environment, the individual nodes composing the cluster should each process a fair share of the overall client load. This can be achieved by distributing client requests across multiple servers, also...