Load balancing distribuuje provoz pro vyšší dostupnost a výkon.
L4 vs L7¶
- L4 — IP + port, rychlý, nezná obsah
- L7 — HTTP headers, URL, cookies, chytřejší
Algoritmy¶
- Round Robin
- Least Connections
- IP Hash (sticky)
- Weighted
- Random
Příklady¶
Nginx L4¶
stream { upstream db { server 10.0.1.1:5432; server 10.0.1.2:5432; } server { listen 5432; proxy_pass db; } }
Nginx L7¶
upstream api { server 10.0.1.1:3000; server 10.0.1.2:3000; } server { location /api/ { proxy_pass http://api; } }
Nástroje¶
- HAProxy — L4/L7, nejpopulárnější OSS
- Nginx — L7, L4 přes stream
- Traefik — cloud-native, auto-discovery
- Cloud LB — AWS ALB/NLB, Azure, GCP
L4 pro rychlost, L7 pro inteligenci¶
L4 pro DB/TCP. L7 pro HTTP routing a SSL terminaci.
load balancingl4l7