Technical Design Concepts Every Software Engineer MUST know | Load Balancers

Load balancing, commonly referred to as server farming or server pools, is the process of efficiently dispersing incoming network traffic among a collection of backend servers.

Modern high-traffic websites must quickly and reliably respond to hundreds of thousands, if not millions, of concurrent user or client requests for the right text, photos, videos, or application data. Modern computing best practice typically necessitates the addition of extra servers in order to cost-effectively scale to handle these enormous volumes.

A load balancer serves as the “traffic cop” in front of your servers, distributing client requests across all servers equipped to handle them in a way that maximizes speed and capacity utilization and makes sure that no server is overworked, which can result in performance degradation. The load balancer routes traffic to the active servers in case one server goes offline. The load balancer initiates requests to a new server when it is added to the server group.