The cluster design depends on several factors such as:
Extent of high availability needs
Users, and the volume of the user transactions
Network design and capacity
Database design and dependencies
Systems management
If the load requirements are unpredictable, then more servers are needed in the configuration to ensure high availability and good performance at all times. On the other hand, if the risk of failure is high, along with the possibility of multiple failures, then more servers are required to be available for failover.