Load balancing

A load balancer spreads requests across servers and removes unhealthy ones. Round robin is simple, least-connections handles uneven requests better, and hashing keeps a client on the same server at the cost of hot spots.

Where it shows up in real systems

  • Application load balancer

    It terminates TLS, routes by path or host and stops sending traffic to an instance that fails its health checks. The algorithm matters: least-connections absorbs uneven requests better than round robin, and sticky sessions create hot spots.

    In production: AWS Application Load Balancer, NGINX, Envoy, HAProxy, Azure Application Gateway

  • Network load balancer

    It does not read HTTP, so it cannot route by path, but it handles millions of connections per second with sub-millisecond overhead. Use it for non-HTTP protocols, static IPs or extreme throughput.

    In production: AWS Network Load Balancer, Google Cloud Network LB, HAProxy (TCP mode), LVS

  • Reverse proxy

    NGINX or HAProxy on your own machines: very cheap and flexible, but you operate it, patch it and make it redundant yourself. A single proxy is a single point of failure.

    In production: NGINX, HAProxy, Envoy, Traefik, Caddy

See it break, then fix it

Build an architecture, send it a day of traffic and outages, and learn why it holds or fails. Free to start.