Clustering is where two or more servers are configured to act as a single system.
Clustering can improve the reliability and throughput of an Internet-based system.
Troubleshooting and determining the root cause of problems also can be much simpler
with clustering. However, clustering requires a great deal of technical knowledge
if the system is to be properly set-up and maintained.
Clustering improves the reliability of Internet-based systems because it eliminates
many of the single points of failure that are possible in a single server system.
For example, with clustering you could have two or more web servers supporting your
Internet site. If one of the servers fails your throughput might be impacted to
some degree but the site would still be available on the second server. In a single
server system your site would be offline if this happened.
The throughput of a system can be vastly improved with clustering because you can
put a load balancer in the system that will send traffic to the least busy resource.
This also means clustering can handle huge swings in volume that may occur during
Clustering also makes it much easier to troubleshoot systems if properly configured.
Instead of having many different items loaded on one server you can put similar
programs on each server so it is easier to determine if a problem is related to
an application, database, bandwidth, etc.
The drawback to clustering is you have to know what you are doing. Clustering done
right is easily scalable and easily maintained. Clustering configured wrong is a
nightmare you don't want to experience.