Load Balancing verteilt Anfragen (Traffic) auf mehrere Server, um Verfügbarkeit, Leistung und Ausfallsicherheit zu erhöhen.
Typische Einsatzgebiete:
L4 arbeitet auf Basis von:
Der Load Balancer weiß NICHT, was im HTTP/TLS passiert – er verteilt nur Verbindungen.
ASCII:
Client → LB (L4) → Server1
→ Server2
→ Server3
L7 „versteht“, was im HTTP/HTTPS passiert, und kann Inhalte analysieren.
Kann abhängig machen von:
ASCII:
Client → LB (L7)
├── /api → Server1
├── /images → Server2
└── /admin → Server3
Jede Anfrage nacheinander an anderen Server.
1 → S1 2 → S2 3 → S3 4 → S1
Der Server mit den wenigsten aktiven Verbindungen bekommt die nächste Anfrage.
Gleiche Quell-IP → immer gleicher Server (Sessionstickiness).
Server mit mehr Leistung bekommen mehr Anfragen.
Ein Load Balancer prüft regelmäßig, ob ein Server gesund ist.
Beispiele:
Wenn ein Server nicht gesund ist → automatisch herausgenommen.
ASCII:
Server2 DOWN → Traffic nur an Server1 & Server3
Der Load Balancer entschlĂĽsselt HTTPS und leitet intern HTTP weiter.
Vorteile:
Beispiel (Traefik, Nginx):
Client → HTTPS → LB → HTTP → Backend
Nginx/Traefik LB → 3× Apache/PHP Server
HAProxy (L4) → 2× Dovecot IMAP Server
HAProxy (L4) → 2× WireGuard Gateways
K8s nutzt:
Load Balancer:
Reverse Proxy:
Viele Produkte kombinieren beides.
Oft nutzt man:
ASCII:
VIP (Virtuelle IP)
↓
[LB1] <→> [LB2]
Wenn LB1 ausfällt → LB2 übernimmt.