Load balancing refers to distributing incoming network traffic across groups of target servers.
Load balancing aims to optimize resource use, maximize throughput, minimize response time, and avoid overload of any single resource. Using multiple components with load balancing instead of a single component may increase reliability and availability through redundancy.
Today’s high-traffic websites serve millions of users, to meet this demand in a fast, reliable and cost-effective manner, this usually means using a load balancer.
A load balancer acts as a reverse proxy sitting in front of your application servers and distributes client requests across all servers capable of fulfilling those requests ensuring that no one server is overloaded, If a server goes down, the load balancer redirects traffic to the remaining ‘healthy’ servers.