Skip to main content

Load Balancing

TL;DR

Load balancer: Distributes traffic across multiple servers. L4: Fast, routes by IP/port. L7: Smarter, routes by URL/headers. Algorithms: Round-robin, least connections, IP hash.

Core Concepts

L4 vs L7 Load Balancing

FeatureL4 (Transport)L7 (Application)
Routes byIP address, portURL, headers, cookies
SpeedFasterSlower
Use caseDatabase, UDPWeb apps, APIs

Load Balancing Algorithms

Round Robin:
Request 1 → Server 1
Request 2 → Server 2
Request 3 → Server 1 (cycle)

Least Connections:
Server 1: 10 connections
Server 2: 5 connections ← Route here
Server 3: 8 connections

IP Hash:
hash(client_ip) % servers = server_index
Same client → Same server

Health Checks

Best practices: Check every 5-10s, require 3 failures to remove, 2 successes to add back.

Quick Reference

  • Round-robin: Simple, even distribution
  • Least connections: Long-lived connections
  • IP hash: Session persistence
  • L4: Fast, use for databases
  • L7: Flexible, use for web