Load Balancing

Load Balancing verteilt Anfragen auf gesunde Kapazität und hält Dienste auch bei Ausfällen erreichbar.

Das Verteilen von eingehenden Anfragen auf mehrere Server oder Instanzen, um Überlastung zu vermeiden, Ausfallsicherheit zu erhöhen und die Performance zu optimieren.

Fortgeschritten2 Min Lesezeit

Erklärung starten

Auf einen Blick

3 Punkte

  1. Verteilt Traffic auf mehrere Server-Instanzen
  2. Erhöht Verfügbarkeit: Fällt ein Server aus, übernehmen die anderen
  3. Verschiedene Algorithmen: Round Robin, Least Connections, IP Hash

Sofortantwort

Load Balancing einfach erklärt

Eingehende Anfragen werden auf mehrere Server verteilt, um Überlastung zu vermeiden.

Kurz gesagt
Verteilt Traffic auf mehrere Server-Instanzen
Typischer Einsatz
LLM-Inference-Skalierung, Zero-Downtime-Deployments, Geo-Routing
Wichtig zu wissen
Verschiedene Algorithmen: Round Robin, Least Connections, IP Hash

Load Balancing im Überblick

Ein einzelner Server kann nur eine begrenzte Anzahl von Anfragen gleichzeitig verarbeiten. Wenn mehr Nutzer kommen, wird er langsamer oder bricht zusammen. Die Lösung: mehrere Server betreiben und die Last gleichmäßig verteilen.

Der Load Balancer sitzt vor den Servern und entscheidet, welcher Server die nächste Anfrage bekommt. Fällt ein Server aus, bemerkt der Load Balancer das über Health Checks und schickt keinen Traffic mehr dorthin.

Gängige Algorithmen:

AlgorithmusFunktionsweiseGeeignet für
Round RobinReihum, gleichmäßigGleich starke Server
Least ConnectionsServer mit wenigsten aktiven VerbindungenUnterschiedliche Request-Dauer
IP HashGleicher Nutzer → gleicher ServerZustandsbehaftete Apps
WeightedStärkere Server bekommen mehr TrafficHeterogene Server

Technisch betrachtet

NGINX-Konfiguration

upstream llm_backends {
    least_conn;  # Algorithmus: wenigste aktive Verbindungen
    server gpu-server-1:8080 weight=3;
    server gpu-server-2:8080 weight=3;
    server gpu-server-3:8080 weight=1;  # Schwächerer Server
}

server {
    location /api/generate {
        proxy_pass http://llm_backends;
        proxy_connect_timeout 10s;
        proxy_read_timeout 120s;  # LLM-Antworten können lang dauern
    }
}

Health Check

upstream llm_backends {
    server gpu-server-1:8080;
    server gpu-server-2:8080;

    # Aktiver Health Check (NGINX Plus)
    health_check interval=5s fails=3 passes=2;
}

Schritt für Schritt

Anfragen zuverlässig auf mehrere Instanzen verteilen

Ein Load Balancer braucht nicht nur einen Verteilalgorithmus, sondern verlässliche Gesundheitsinformationen und passende Regeln für Ausfälle.

  1. Ziele registrieren

    Ziele

    Laufende Instanzen melden sich mit klaren Schnittstellen und Kapazitätsgrenzen als mögliche Ziele an.

    instanzen -> pool mit kapazitaet
  2. Gesundheit prüfen

    Gesundheit

    Regelmäßige Prüfungen stellen fest, ob eine Instanz Anfragen sicher bearbeiten kann.

    health check -> gesund oder aus rotation
  3. Passendes Ziel wählen

    Verteilung

    Eine Regel verteilt jede Anfrage auf eine verfügbare Instanz, etwa nach aktueller Auslastung oder Gewichtung.

    anfrage -> gesunde instanz
  4. Ausfälle und Spitzen behandeln

    Resilienz

    Bei Fehlern wird Verkehr umgeleitet; Skalierung und Beobachtung sorgen dafür, dass Kapazität zur Last passt.

    ausfall oder lastspitze -> umleiten oder skalieren

Konkretes Beispiel

Mehrere Inferenz-Instanzen nutzen

Ein Service beantwortet viele parallele Anfragen und einzelne Antworten brauchen unterschiedlich lange.

Alle Anfragen an eine Instanz

Eine einzelne langsame Anfrage blockiert Kapazität, während andere Instanzen ungenutzt bleiben oder ein Ausfall den Dienst stoppt.

Gesundheitsbasierte Verteilung

Der Load Balancer leitet neue Anfragen nur an gesunde Instanzen und berücksichtigt ihre aktuelle Belastung.

Lastverteilung erhöht nur dann Zuverlässigkeit, wenn Instanzen zustandsarm, beobachtbar und ersetzbar betrieben werden.

Einordnung

Vorteile und Grenzen

Das spricht dafür

  • Mehr Kapazität: Mehrere Instanzen können parallele Anfragen gemeinsam bearbeiten.
  • Bessere Verfügbarkeit: Ein einzelner Ausfall muss nicht automatisch den gesamten Dienst stoppen.
  • Kontrollierte Releases: Neue Instanzen können erst nach Gesundheitsprüfung schrittweise Verkehr erhalten.
  • Messbare Auslastung: Verteilung und Gesundheitsstatus liefern klare Signale für Skalierungsentscheidungen.

Das solltest du beachten

  • Sitzungszustand ist schwierig: Zustandsbehaftete Anwendungen brauchen zusätzliche Regeln oder gemeinsame Speicher.
  • Health Checks müssen aussagekräftig sein: Ein oberflächlich erreichbarer Dienst kann fachlich trotzdem nicht einsatzbereit sein.
  • Mehr Komponenten: Routing, Zertifikate und Fehlerbilder erweitern die Betriebsarchitektur.
  • Kein Ersatz für Kapazitätsplanung: Wenn alle Instanzen überlastet sind, kann auch gute Verteilung keine Antworten erzeugen.
Vertiefung · für Fortgeschrittene

Verkehr vor einer Gruppe von Instanzen

Der Load Balancer entscheidet anhand von Regeln und Gesundheitsdaten, welche Instanz die nächste Anfrage bekommt.

Wissenskarte

verteilt Anfragen auf gesunde Kapazität

Die Verteilung wird belastbar, wenn nur gesund geprüfte Instanzen Verkehr erhalten und Last sowie Fehler laufend beobachtet werden. Load Balancer gliedert sich in: Eingehende Anfrage, Routing-Regel, Health Check, Instanz-Pool, Auslastung, Skalierung.

01Einsatzbereiche

Wann ist Load Balancing sinnvoll?

Geeignet für

  • LLM-Inference-SkalierungAnfragen auf mehrere GPU-Instanzen verteilen, um hohe Last zu bewältigen
  • Zero-Downtime-DeploymentsNeue Version deployen, während der Load Balancer Traffic noch auf die alte Version schickt
  • Geo-RoutingNutzer automatisch zum nächstgelegenen Rechenzentrum leiten

↑ Inhalt

02Werkzeuge

Womit Load Balancing umgesetzt wird

↑ Inhalt

Merksatz

Load Balancing ist wie ein Kassierer-Koordinator im Supermarkt

Er schaut, welche Kasse am wenigsten Warteschlange hat, und schickt den nächsten Kunden dorthin. Kein Kassierer wird überlastet, alle arbeiten gleichmäßig.

  1. Verteilt Traffic auf mehrere Server-Instanzen
  2. Erhöht Verfügbarkeit: Fällt ein Server aus, übernehmen die anderen
  3. Verschiedene Algorithmen: Round Robin, Least Connections, IP Hash

03Wissensnetz

Diese Begriffe brauchst du ebenfalls

Nicht „ähnliche Artikel", sondern die Rolle, die jeder Begriff für Load Balancing spielt.

↑ Inhalt

04Redaktion

Herkunft und Stand

Redaktion und Aktualität

Ebenex RedaktionRedaktion

Veröffentlicht
Aktualisiert

Dieses Feld entwickelt sich schnell. Oben stehen Veröffentlichung und letzte Änderung; ein Prüfdatum kommt dazu, sobald die Erklärung nach ihrer letzten Änderung geprüft wurde.

↑ Inhalt

05FAQ

Häufige Fragen zu Load Balancing

Was ist der Unterschied zwischen Layer 4 und Layer 7 Load Balancing?

Layer 4 (Transport): Verteilt Traffic basierend auf IP und Port – schnell, aber ohne Kenntnis des Inhalts. Layer 7 (Application): Versteht HTTP – kann nach URL-Pfad, Headers oder Cookie routen. Für KI-APIs ist Layer 7 sinnvoll, um z. B. /chat auf andere Server zu routen als /embeddings.

Was ist ein Health Check?

Der Load Balancer sendet regelmäßig Anfragen an alle Server (z. B. GET /health). Antwortet ein Server nicht oder mit einem Fehler, wird er aus der Rotation genommen und bekommt keinen Traffic mehr.

Was ist Sticky Sessions?

Eine Konfiguration, bei der alle Anfragen eines Nutzers immer zum selben Server gehen (z. B. über ein Cookie). Nötig bei zustandsbehafteten Anwendungen, aber ein Hindernis für echte Skalierung.

↑ Inhalt

06Weiterlernen

Was möchtest du als Nächstes verstehen?

  • Grundlage nachholen

    Content Delivery Network

    Ein Netzwerk von Servern liefert Inhalte schnell aus.

  • Technisch vertiefen

    Microservices

    Anwendung besteht aus vielen kleinen, unabhängigen Services.

↑ Inhalt