Benutzer-Werkzeuge

Webseiten-Werkzeuge


it-themen:grundlagen:netzwerkdienste:load_balancing

**Dies ist eine alte Version des Dokuments!**

zurĂĽck

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
it-themen/grundlagen/netzwerkdienste/load_balancing.1764840782.txt.gz · Zuletzt geändert: von lars