An application server cluster has of a number of application servers loosely coupled on a network. The server group or server cluster is usually distributed over a number of nodes or machines. The important point to note is that the cluster seems as a single server to its clients.
The goals of application server clustering are:
1. Scalability: could be able to add new servers on the required node or add new additional nodes to enable the server to handle increasing loads without performance loss, and in a manner transparent to the last users.
2. Load balancing: Each server in the cluster could process a fair share of client load, in proportion to its processing power, to remove overloading of some and under utilization of other server sources. Load distribution could remain balanced even as load modifies with time.
3. High availability: Clients could be able to accept the server at almost all times. Server usage could be transparent to software and hardware failures. If a server or node fails, its workload should be changed over to other servers, automatically as fast as required and the application should continue to run uninterrupted. This method gives a fair degree of application system fault-tolerance. After failure, the entire load could be redistributed equally among active servers of the system.