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:
| Algorithmus | Funktionsweise | Geeignet für |
|---|---|---|
| Round Robin | Reihum, gleichmäßig | Gleich starke Server |
| Least Connections | Server mit wenigsten aktiven Verbindungen | Unterschiedliche Request-Dauer |
| IP Hash | Gleicher Nutzer → gleicher Server | Zustandsbehaftete Apps |
| Weighted | Stärkere Server bekommen mehr Traffic | Heterogene 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.
Ziele registrieren
Ziele
Laufende Instanzen melden sich mit klaren Schnittstellen und Kapazitätsgrenzen als mögliche Ziele an.
instanzen -> pool mit kapazitaetGesundheit prüfen
Gesundheit
Regelmäßige Prüfungen stellen fest, ob eine Instanz Anfragen sicher bearbeiten kann.
health check -> gesund oder aus rotationPassendes Ziel wählen
Verteilung
Eine Regel verteilt jede Anfrage auf eine verfügbare Instanz, etwa nach aktueller Auslastung oder Gewichtung.
anfrage -> gesunde instanzAusfä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 FortgeschritteneVerkehr vor einer Gruppe von Instanzen
Der Load Balancer entscheidet anhand von Regeln und Gesundheitsdaten, welche Instanz die nächste Anfrage bekommt.
verteilt Anfragen auf gesunde Kapazität