Clusters is a group of application server which have similar state information available among each other
so that if one app server fails the other is ready to process with the request thereby providing Fault Tolerance. They also provide Load Balancing between the appservers.
There are three type of cluster.
Horizontal cluster: Horizontal cluster consist of application server running on two or more different physical server
Advantage: In case of hardware failure the other server can process the request. It has better performance as the system used is different
Disadvantage: Maintaining two different server is difficult & expensive.
Vertical cluster: Vertical cluster consist of two or more application server installed in an single physical machine.
Advantage: Monitoring & central administration is easy & cost effective as fewer servers are needed.
Disadvantage: In case of hardware failure all the application server would fail.
Mixed cluster : Mixed cluster consist of both vertical & Horizontal cluster it is used for critical high end application etc which need a high Uptime .
Advantage: High Fault Tolerance so a localized failures doesn’t take the entire application down.
Disadvantage: Very expensive compared to servers needed, Support and Monitoring is difficult as many appservers to manage.