# Load Balancer Types: Layer 4 vs. Layer 7 im Vergleich
TL;DR / Management Summary Ein Loadbalancer ist der Dirigent Ihres Netzwerks. Wir unterscheiden zwischen dem schnellen, aber “blinden” Layer-4 Loadbalancing (basiert auf IP und Port) und dem intelligenten, aber rechenintensiven Layer-7 Loadbalancing (basiert auf Inhalten wie URLs oder Cookies). Ein Senior Admin nutzt L4 für Datenbanken (SQL) und L7 für Web-Applikationen (HTTPS), um Features wie SSL-Offloading und “Sticky Sessions” zu ermöglichen.
# 1. Layer 4 Loadbalancing (Transport Layer)
Schnelligkeit durch Einfachheit.
Arbeitet auf der Ebene von TCP und UDP.
- Logik: Das Paket kommt an -> Balancer prüft Quell-IP/Port -> Leitet an Backend-Server weiter.
- Vorteil: Extrem performant (Millionen Requests pro Sekunde möglich). Geringe CPU-Last.
- Nachteil: Der Balancer sieht nicht, was im Paket ist. Er kann keine Entscheidungen basierend auf der URL (
/shopvs/blog) treffen. - Protokolle: TCP, UDP, SCTP.
# 2. Layer 7 Loadbalancing (Application Layer)
Intelligenz durch Analyse.
Arbeitet auf der Anwendungsebene (HTTP/HTTPS, SMTP, FTP).
- Logik: Der Balancer terminiert die Verbindung, packt das Paket aus und liest die Header.
- Vorteil: Content-based Routing. Sie können Anfragen für Bilder an einen anderen Server schicken als Anfragen für dynamische PHP-Scripts.
- Vorteil: SSL Termination. Der Balancer entschlüsselt den Traffic und entlastet die Backend-Server.
- Nachteil: Höhere CPU-Last und Latenz durch das Auspacken der Pakete.
# 3. Deep Dive: Sticky Sessions (Persistence)
Wer bleibt bei wem?
Ein großes Problem im Cluster: Ein User legt ein Produkt in den Warenkorb auf Server A. Der nächste Klick landet auf Server B -> Warenkorb ist leer.
- L4 Lösung: Nutzt den “Source IP Hash”. Alle Anfragen einer IP landen beim gleichen Server. (Problem bei Firmen-Proxies!).
- L7 Lösung: Nutzt Cookies. Der Balancer schreibt ein kleines Cookie in den Browser des Users. So wird er garantiert immer zum richtigen Server geleitet, egal wie viele Leute die gleiche IP nutzen.
# 4. Day-2 Operations: Health Checks
Den ‘toten’ Knoten finden.
Beide Typen nutzen Health Checks, aber auf unterschiedlichem Niveau:
- L4 Check: “Ist Port 80 offen?”.
- L7 Check: “Antwortet die URL
/health.phpmit dem TextOKinnerhalb von 500ms?”. - Ergebnis: L7 ist sicherer, da es auch Anwendungsfehler (z.B. Datenbank-Connection Error) erkennt, obwohl der Port 80 technisch noch offen ist.
# 5. Troubleshooting & “War Stories”
Wenn der Balancer falsch lenkt.
# Top 3 Fehlerbilder
-
Symptom: “502 Bad Gateway”.
- Ursache: Der Balancer kann den Backend-Server nicht erreichen oder das Backend liefert eine ungültige Antwort.
- Lösung: Health-Check Status in HAProxy (Artikel 562) prüfen.
-
Symptom: Bilder auf der Webseite laden nicht.
- Ursache: Falsche L7-Routing-Regel. Der Balancer schickt Anfragen für
.jpgan den Datenbank-Server statt an den Media-Server.
- Ursache: Falsche L7-Routing-Regel. Der Balancer schickt Anfragen für
-
Symptom: SSL-Fehler beim User.
- Fix: Zertifikats-Kette auf dem L7-Balancer (Offloading) prüfen.
# “War Story”: Der “Double-NAT” Latenz-Kill
Ein Admin betrieb einen L7 Loadbalancer (Nginx) hinter einem L4 Loadbalancer (F5). Das Ereignis: Die Antwortzeiten der Webseite stiegen von 50ms auf 500ms. Die Ursache: Da der L4 Balancer die Source-IP maskierte (NAT), sah der L7 Balancer nur noch eine einzige IP. Er konnte keine Sticky-Sessions mehr verwalten und versuchte für jedes Paket einen neuen Handshake mit dem Backend. Lehre: Vermeiden Sie unnötige Kaskaden. Nutzen Sie X-Forwarded-For Header und das Proxy Protocol, um die echte User-IP durch die Schichten zu reichen.
# 6. Monitoring & Reporting
Statistiken der Verteilung.
# Backend Status (Dashboard)
Überwachen Sie:
Active Sessions per Backend.Average Response Time (ms).Error Rate (4xx/5xx).
# 7. Fazit & Empfehlung
Die Wahl des Typs entscheidet über die Skalierbarkeit Ihrer Applikation.
- Empfehlung: Nutzen Sie Layer 7 (HAProxy/Nginx) für alle Web-Workloads. Die Vorteile bei SSL-Management und Flexibilität überwiegen den CPU-Overhead bei weitem.
- Wichtig: Verwenden Sie Layer 4 für unverschlüsselte TCP-Dienste oder Datenbank-Cluster, bei denen Millisekunden-Latenz kritisch ist.
# Anhang: Vergleichstabelle
| Feature | Layer 4 (TCP) | Layer 7 (HTTP) |
|---|---|---|
| Prüfung | IP / Port | URL, Cookies, Header |
| Speed | Höchstgeschwindigkeit | Mittel (Overhead) |
| Sicherheit | Basis (ACL) | Hoch (WAF, SSL) |
| Persistence | Source-IP | Cookies / App-ID |