**Dies ist eine alte Version des Dokuments!**
Inhaltsverzeichnis
Load Balancing – Grundlagen (L4 & L7)
Load Balancing verteilt Anfragen (Traffic) auf mehrere Server, um Verfügbarkeit, Leistung und Ausfallsicherheit zu erhöhen.
Typische Einsatzgebiete:
- Webseiten (z. B. www.example.com)
- APIs & Microservices
- Docker / Kubernetes
- Unternehmensanwendungen
- Datenbanken (Read-Replicas)
- E-Mail-Cluster
- VPN-Gateways
Warum Load Balancing?
- höhere Verfügbarkeit (kein Single Point of Failure)
- bessere Performance
- mehr Kapazität
- Wartung ohne Downtime
- DDoS-Abmilderung
Zwei Hauptarten
- Layer 4 Load Balancing (Transport Layer)
- Layer 7 Load Balancing (Application Layer)
1. Layer 4 Load Balancing (Transport-Layer)
L4 arbeitet auf Basis von:
- IP-Adresse
- Port
- TCP/UDP
Der Load Balancer weiß NICHT, was im HTTP/TLS passiert – er verteilt nur Verbindungen.
ASCII:
Client → LB (L4) → Server1
→ Server2
→ Server3
Merkmale
- sehr schnell
- arbeitet mit TCP/UDP direkt
- keine Inhalteinsicht
- gut fĂĽr VPN, Datenbanken, SMTP, Spiele-Server
Beispiele
- HAProxy (L4/L7)
- Linux IPVS (z. B. keepalived)
- LVS Load Balancer
- AWS NLB (Network Load Balancer)
Typische L4-Methoden
- Round Robin
- Least Connections
- Source IP Hash
- Weighted Scheduling
2. Layer 7 Load Balancing (Application-Layer)
L7 „versteht“, was im HTTP/HTTPS passiert, und kann Inhalte analysieren.
Kann abhängig machen von:
- URLs
- Headern
- Cookies
- Benutzeragenten
- Sessions
- APIs
ASCII:
Client → LB (L7)
├── /api → Server1
├── /images → Server2
└── /admin → Server3
Merkmale
- sehr flexibel
- Routing nach Inhalt
- SSL/TLS-Terminierung möglich
- ideal fĂĽr Webservices
Beispiele
- Nginx
- Traefik
- HAProxy (kann L7)
- Envoy
- F5 Big-IP
- AWS ALB (Application Load Balancer)
Vorteile
- intelligenter Trafficfluss
- HTTPS-Aufbrechen & Analyse
- API-Gateway-Funktionen
Nachteile
- mehr CPU-Bedarf
- komplexer
- TLS-Handling muss sauber sein
3. Load Balancing-Methoden
Round Robin
Jede Anfrage nacheinander an anderen Server.
1 → S1 2 → S2 3 → S3 4 → S1
Least Connections
Der Server mit den wenigsten aktiven Verbindungen bekommt die nächste Anfrage.
Source IP Hash
Gleiche Quell-IP → immer gleicher Server (Sessionstickiness).
Weighted Round Robin
Server mit mehr Leistung bekommen mehr Anfragen.
4. Health Checks
Ein Load Balancer prüft regelmäßig, ob ein Server gesund ist.
Beispiele:
- Ping
- TCP-Port erreichbar
- HTTP-Status 200
- eigene API-Healthchecks
Wenn ein Server nicht gesund ist → automatisch herausgenommen.
ASCII:
Server2 DOWN → Traffic nur an Server1 & Server3
5. TLS-Terminierung (SSL-Offloading)
Der Load Balancer entschlĂĽsselt HTTPS und leitet intern HTTP weiter.
Vorteile:
- geringere Serverlast
- zentrale Zertifikatsverwaltung
- Content-based Routing möglich
Beispiel (Traefik, Nginx):
Client → HTTPS → LB → HTTP → Backend
6. Load Balancing in der Praxis (Beispiele)
Beispiel 1: Webserver-Cluster
Nginx/Traefik LB → 3× Apache/PHP Server
Beispiel 2: Mailserver High Availability
HAProxy (L4) → 2× Dovecot IMAP Server
Beispiel 3: VPN-Cluster
HAProxy (L4) → 2× WireGuard Gateways
Beispiel 4: Kubernetes
K8s nutzt:
- kube-proxy
- ingress controller (Traefik, Nginx)
- LoadBalancer Services
7. Load Balancer vs. Reverse Proxy
Load Balancer:
- verteilt Traffic
- kann L4 oder L7 sein
Reverse Proxy:
- immer L7
- nimmt Anfragen entgegen und leitet an Backend weiter
- z. B. Traefik, Nginx, Apache mod_proxy
Viele Produkte kombinieren beides.
8. High Availability (HA)
Oft nutzt man:
- VRRP (Keepalived)
* Heartbeat
* Pacemaker
ASCII:
VIP (Virtuelle IP)
↓
[LB1] <→> [LB2]
Wenn LB1 ausfällt → LB2 übernimmt.
Zusammenfassung
- Load Balancing verteilt Anfragen auf mehrere Server
- L4 = schnelles Routing nach IP/Port
* L7 = Routing nach Inhalten (URLs, Header)
* Health Checks prĂĽfen Serverzustand
* TLS-Offloading erleichtert Verwaltung
* in modernen Architekturen unverzichtbar
* Docker, Kubernetes, Cloud nutzen fast immer L7 Load Balancer