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
| Feature | L4 (Transport) | L7 (Application) |
|---|---|---|
| Routes by | IP address, port | URL, headers, cookies |
| Speed | Faster | Slower |
| Use case | Database, UDP | Web 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