Load balancing improves performance and resiliency along with the productivity of websites, applications, databases and other services by distributing the workload across multiple servers.
An infrastructure without load balancing looks like this:
The user connects directly to the server. If this single server stops working, the user will not be able to get to the site. In addition, if many users try to open the site at the same time, the server may simply not keep up with the load; the site will load very slowly, or the user will not be able to open it at all. The solution to the problem is a load balancer
An infrastructure with load balancing looks like this:
Each request first goes to the balancer, which forwards it to one of the backend servers; this server, in turn, responds to the user's request and sends the result to the user. The load balancer decides on which server to send the request to by using a combination of two factors. First, the balancer determines servers that can quickly and adequately respond to requests, and then it selects one of the available servers, guided by pre-configured rules.