There are two methods of clustering Horizontal and Vertical.
Horizontal clustering: involves running multiple Java application servers that are run on two or more separate physical machines. Horizontal scaling is more reliable than vertical scaling since there are multiple machines involved in the cluster environment, as compared to only one machine.
Vertical clustering: however, consists of multiple Java application servers on a single physical machine. With vertical scaling, the machine's processing power, CPU usage, and JVM heap memory configurations are the main factors in deciding how many server instances should be run on one machine.