What is a load balancer?
๐ง This is a brief and easy to understand overview. Serious candidates should research the crucial details after reading this explanation.
๐ The main purpose of a load balancer is to make sure no single server on multi-network server system receives too many requests.
โ๏ธ It quite literally balances your server clusters.
How Data Gets to it's destination
This is how the data flow goes:
- Computer(Client) using your application sends a request to your server.
- Request gets routed to your load balancer first.
๐ฎโโ๏ธ Think of a load balancer as a traffic cop at a street light.
๐ซธ He tells you to stop
๐or waves you on by in a certain direction when they identified it's safe for you to proceed.
โ๏ธ (In a "no load balancer" system, usually it gets routed straight to the server.) - Your load balancer receives the request then:
๐ Checks Server Health and identifies the most suitable available server.
โฉ๏ธ If a server goes down or becomes unresponsive, the load balancer can redirect the traffic to other servers that are functioning normally.
๐ Request gets routed to this "optimal" server. This creates high availability and optimal performance for your systems(application).
๐ Some load balancers can handle an intense tasks know as SSL/TLS encryption and decryption. This removes this part of the process from the servers themselves and places this heavy task on the load balancer.
โ You will see better performance, scalability, failure handling, prevent bottlenecks, efficient resource use, and session persistence by implementing a load balancer.
Challenges
๐ด Here are some of the challenges:
- Single Point of Failure: If the load balancer goes down itself, there needs to be a backup or your system loses this capability.
- Cost and Complexity
- Configuration Issues
- Extra Overhead
- SSL Management(SSL/TLS mentioned previously)
โ If you don't have a load balancer you may see a single point of failure, overloaded servers, or limited scalability.
Detailed Readings and Helpful Concepts to Know
๐ฉ To read a detailed version of a load balancer, check out this resource by GeeksforGeeks: GeeksforGeeks Load Balancer Article
๐ If you're not familiar with horizontal scaling, this easy "Vertical vs Horizontal Scaling" guide I created will help improve your understanding: Vertical vs Horizontal Scaling Guide
Summary
Thank you for reading my blog post!
To continue learning the fundamentals of System Design, the next important fundamental to learn is understanding...
Make sure to check out the additional blogs here for materials to help you throughout your learning journeys!

