![]() |
![]() |
||||
The concept of load balancing is that load is balanced over two or more available systems.
In the simplest example, 50% of traffic is sent to one server, 50% is sent to the other.
The load balancer decides where to send each request based on random selection, a round-robin technique, or more intelligent load balancing techniques.
For a comparison of different techniques used to handle this problem, see Application Load Balancing.
With 2 or more systems available, companies therefore often look for ways to use these extra resources to increase availability of their systems. The first thought is often "I have two servers, so if one goes down, can't the other one take over?".
Load balancing itself, does not imply any failover capability. It's purpose is simply to balance load. There is often confusion about the relation between HA and load balancing, because they are often considered at the same time.
Load balancing without failover, actually decreases availability. The reason is that extra points of failure are added to the system. For example, if your system uses a single load-balancer device, and 2 servers, 50% of traffic is sent to each server. If one server goes offline, 50% of your users can no longer be serviced.
For a comparison of different techniques used to provide high availability in web applications, see Application Failover.