We use analytics cookies.We use cookies to analyze site traffic and improve your experience.
Loading...
6 system design questions lean on this idea. Each walks through the full answer.
System Design Masterclass · Core Fundamentals
Free preview: the first 2 parts of this 22-part lesson.
Already bought the course? Sign in to read the whole lesson.
this lesson is part of
System Design Masterclass
Unlock this lesson and the 751 other paid lessons
$25 once, by PayPal
See the System Design courseread the rest of this lesson in
System Design Masterclass
Unlock this lesson and the 751 other paid lessons
$25 once, by PayPal
See the System Design coursein Core Fundamentals
This lesson is part of the full System Design Masterclass. Unlock it along with 769 other lessons for a one-time payment.
One-time payment by card or PayPal
Get Lifetime AccessOne-time payment: UPI, card or netbanking
Get Lifetime Access18 Foundation lessons are free, no payment needed. Try them now
It is easy and good
“It is really nice and good Please join the course”
You added more servers. That was the right call, and it was the whole point of the last lesson.
Now answer a harder question: when a request arrives, who decides which server gets it?
If nobody decides, the answer is usually "the first one". Every request lands on Server 1 while Servers 2 and 3 sit there doing nothing, costing money. You have not scaled anything. You have bought two spare machines and one very tired one.

Server 1 is drowning while two identical machines sit idle. The dashed line is what one server can actually cope with, and Server 1 is far above it. This is what horizontal scaling looks like when nobody is directing traffic. The numbers here are illustrative rather than measured, and the point is the shape: one bar over the line, two at zero.
Something has to sit in front and make that decision, request by request. That something is a , and every service you use daily has one.
Before any vocabulary arrives, you already know how this works, because you have stood in the queue.
You walk into a busy restaurant. You do not wander in and pick a table yourself. Somebody at the door looks at which tables are free, and sends you to one. You do not know which table you will get. You do not care. You want to sit down and eat.

Everyone comes through one door and nobody picks their own table. The person at the door looks at what is free and decides for you. That is the entire idea. The is the person at the door, and your servers are the tables.
Swap the words and you have the real thing. The front door is one public address. The tables are your servers. The person at the door is the load balancer.
Here is the part that matters: the diners never learn the table numbers. From outside, your whole system looks like one address. Whether there are three servers behind it or three hundred is nobody's business but yours.

Clients connect to one address and only ever see that address. Behind it, you can add servers, remove them, replace them, or take one down for repair, and nothing outside has to be told. That hiding is worth as much as the traffic spreading.