Logo
Published on

Load Balancing - System Design Interview Guide

🔷 Load Balancer (LB)

🧠 What it REALLY is

"A load balancer distributes incoming requests across multiple servers to prevent overload and improve availability."


⚡ Why we need it (REAL reason)

Without LB:

  • One server overloaded ❌
  • System crashes ❌

With LB:

  • Traffic distributed ✅
  • System stable ✅

🔧 How it works

👉 Sits between client → servers

Flow:

User → Load Balancer → Multiple Servers

👉 Also does:

  • Health checks (is server alive?)
  • Stops sending traffic to failed servers

📍 Where to place LBs (IMPORTANT)

1. Client → Web servers

  • Distribute user traffic

2. Web → App / Cache layer

  • Balance internal processing

3. App → Database

  • Spread DB load (read replicas)

🔥 Insight

"Real systems use load balancing at EVERY layer"


🚀 Benefits (Condensed)

  • ✅ Faster response (no overload)
  • ✅ High availability (failover)
  • ✅ Better throughput
  • ✅ No single point of failure (if designed well)

⚙️ Common Algorithms (Must Know)

1. Round Robin

👉 Requests distributed equally

Example:

  • Req1 → Server A
  • Req2 → Server B

2. Least Connections

👉 Send to least busy server


3. IP Hash

👉 Same user → same server

👉 Useful for session-based systems


🧠 Smart Feature (Senior Level)

Health Checks

"LB continuously checks which servers are healthy."

  • Server slow ❌
  • Server down ❌ → LB removes it from rotation

⚠️ Big Problem (Interview Trap)

❗ LB itself = Single Point of Failure

Solution:

👉 Use redundant load balancers


🔁 Redundant LB (High Availability)

        LB1 (Active)
        LB2 (Backup)
  • If LB1 fails → LB2 takes over

Insight

"Everything in distributed systems must be redundant"


⚡ Real Example

Netflix / YouTube

  • Millions of users
  • Thousands of servers

👉 LB ensures:

  • Even traffic distribution
  • No server overload

🎤 Interview Script (Memorize This)

Start

"To handle traffic efficiently, I'll introduce a load balancer in front of the servers."


Explain

"The load balancer distributes incoming requests across multiple servers and performs health checks to avoid sending traffic to failed instances."


Add Depth

"We can use algorithms like round robin or least connections depending on traffic patterns."


Multi-layer (VERY STRONG)

"We can place load balancers at multiple layers — between client and web servers, application layer, and database layer."


Reliability

"To avoid single point of failure, we'll use redundant load balancers with failover."


🧠 Final Cheat Sheet

Concept Meaning
Load Balancer Distributes traffic
Health Check Detects failed servers
Algorithms Round robin, least connections
Placement Every layer
Risk LB failure
Fix Redundant LBs

💡 Golden Line

"A load balancer ensures scalability and availability by distributing traffic and eliminating overloaded or failed servers."