How Load Balancers Work (with Reverse Proxy)

What Problem Are They Solving?

  • When a lot of users visit a website or app, one server can’t handle all the traffic.
  • You want to spread the load across multiple servers so no single one crashes.

Enter: Load Balancer

  • A load balancer sits in front of your servers.
  • It receives all incoming requests (like from browsers or apps).
  • It distributes the traffic smartly across multiple backend servers.

It Also Acts Like a Reverse Proxy

  • It doesn’t just “balance” - it also hides your backend servers from users.
  • From outside, users only see the load balancer’s IP, not your real servers.
  • This setup is called a reverse proxy because it acts on behalf of the servers.

Basic Flow

  1. User’s browser sends a request (e.g., www.example.com).
  2. DNS points example.com to the load balancer’s IP.
  3. Load balancer accepts the request.
  4. It picks a healthy backend server (based on its algorithm).
  5. It forwards the request to that server.
  6. The backend server responds - load balancer - user.

User has no idea which server actually handled the request.

How Does It Decide Which Server?

Load balancer can use different strategies like:

  • Round Robin - each server gets turns equally.
  • Least Connections - server with fewest open connections gets new traffic.
  • Server Health - only send traffic to servers that are up and healthy.
  • Weighted - give stronger servers more traffic.

Extra Capabilities Load Balancers Often Provide

  • Health Checks - Ping servers regularly and avoid dead ones automatically.
  • SSL Termination - Handle HTTPS encryption at load balancer itself, so backend servers don’t have to.
  • Sticky Sessions - Send the same user to the same server if needed (like in shopping carts).
  • Auto-scaling Support - As new servers spin up, the load balancer automatically adds them to rotation.
  • Failover - If a server or datacenter dies, redirect traffic elsewhere.

Types of Load Balancers

  • L4 Load Balancer (Transport Layer, TCP/UDP)
    • Balances based on IPs and ports.
  • L7 Load Balancer (Application Layer, HTTP/HTTPS)
    • Balances based on URL, cookies, headers, etc.

Why Reverse Proxy is Important Here

  • Security - Backend IPs stay hidden.
  • Central SSL handling - Easier to manage certs.
  • Caching and Compression - Boost performance by offloading work from backend servers.
  • Hardware-based: F5 Networks, Citrix ADC (formerly NetScaler)
  • Software-based: NGINX, HAProxy, AWS Elastic Load Balancing
  • Cloud Managed: AWS ELB/ALB/NLB, Google Cloud Load Balancing, Azure Load Balancer

Real-World Benefits

  • Scalability - Handle millions of concurrent connections
  • Reliability - No single point of failure in your server fleet
  • Flexibility - Add or remove servers without disrupting users
  • Performance - Optimize response times by routing to the best server
  • Maintenance - Update backend servers without downtime

Understanding how load balancers work is essential for building high-availability, fault-tolerant web applications that can scale to meet growing demands.