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 a cluster can be located either on the same machine or 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:
Horizontal scalability (scaling out): Adding a new node to a cluster should allow the overall system to service a higher client load than that provided by a 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 that compose the cluster should each process a fair share of the overall client load. This can be achieved by distributing client requests across multiple...