In computing, load balancing is the process of distributing a set of tasks over a set of resources (computing units), with the aim of making their overall processing more efficient. Load balancing can optimize the response time and avoid unevenly overloading some compute nodes while other compute nodes are left idle.

Load balancing is the subject of research in the field of parallel computers. Two main approaches exist: static algorithms, which do not take into account the state of the different machines, and dynamic algorithms, which are usually more general and more efficient but require exchanges of information between the different computing units, at the risk of a loss of efficiency.

Wikipedia

The job of the load balancer is to fairly divide all clients’ requests among the pool of available servers. Load balancers perform this job to avoid overloading or crashing servers.

Load balancers provide the following capabilities:

Here’s an abstract depiction of how load balancers work:

Simple load balancer|800
Simplified working of a load balancer

Services offered by load balancers

LBs not only enable services to be scalable, available, and highly performant, they offer some key services like the following:

As a whole, load balancers provide flexibility, reliability, redundancy, and efficiency to the overall design of the system.

What if load balancers fail? Are they not a single point of failure (SPOF)?

Load balancers are usually deployed in pairs as a means of disaster recovery.
If one load balancer fails, and there’s nothing to failover to, the overall service will go down.

Generally, to maintain high availability, enterprises use clusters of load balancers that use heartbeat communication to check the health of load balancers at all times.
On failure of primary LB, the backup can take over. But, if the entire cluster fails, manual rerouting can also be performed in case of emergencies.

Types of load balancers

Depending on the requirements, load balancing can be performed at the network/transport and application layer of the open systems interconnection (OSI) layers.

Note: Layer 7 load balancers are smart in terms of inspection. However layer 4 load balancers are faster in terms of processing.

Source

Also Read

Thoughts 🤔 by Soumendra Kumar Sahoo is licensed under CC BY 4.0