Load balancing
A load balancer is the most useful tool in clustering. A load balancer uses a variety of algorithms, such as round-robin, least connection, and so on, to forward the incoming request to the right backend servers for processing.
There are a lot of third-party load balancers available on the market, such as F5 (https://f5.com), HAProxy (http://www.haproxy.org), and so on. Though these load balancing tools behave differently, they focus on the main role: distributing the request load to the available backend server and maintaining the balance between all the servers. By proper load balancing, we prevent a single backend server from being overloaded. Also, most load balancers come with health monitoring, such as checks to verify the availability of servicing servers.
Besides the main request distribution among servers, load balancers keep the backend servers protected from frontend servers. Frontend servers will have no idea about which backend server to sent the request to as load...