Schema: Viele Nutzeranfragen laufen von links auf einen Lastverteiler zu. Von dort führen Pfeile zu vier gleichartigen Servern, wobei ein als ausgefallen markierter Server keinen Pfeil erhält.

Load Balancing

Load Balancing ist die Verteilung eingehender Anfragen auf mehrere Computer, damit keiner davon überlastet wird. Ein vorgeschalteter Verteiler nimmt jede Anfrage entgegen und schickt sie an den Rechner, der gerade am besten kann.

Große Internetdienste laufen nie auf einem einzigen Computer. Hinter einer Webseite stehen oft hunderte oder tausende Rechner, die alle dasselbe Programm ausführen. Load Balancing ist die Technik, die eingehende Anfragen auf diese Rechner verteilt. Ein eigenes Gerät oder Programm sitzt dabei vor der Gruppe, nimmt jede Anfrage entgegen und leitet sie an einen der Rechner weiter. Das Ziel ist, dass alle etwa gleich viel Arbeit bekommen und keiner unter der Last zusammenbricht. Der englische Begriff bedeutet wörtlich Lastausgleich, und genau darum geht es.

Warum eine Webseite ohne Verteiler zusammenbricht

Ein einzelner Server kann nur eine begrenzte Zahl von Anfragen pro Sekunde beantworten. Kommen mehr, bilden sich Warteschlangen. Die Antwortzeiten steigen, irgendwann bricht die Verbindung ab. Für einen Online-Shop bedeutet das direkten Umsatzverlust, für eine Bank ausgefallene Überweisungen.

Der zweite Grund ist Ausfallsicherheit. Hardware geht kaputt, Software stürzt ab, Updates brauchen Neustarts. Ein Lastverteiler prüft regelmäßig, ob jeder Rechner noch antwortet. Reagiert einer nicht mehr, nimmt der Verteiler ihn einfach aus der Liste. Die Nutzer merken davon nichts, weil ihre Anfragen an die übrigen Rechner gehen.

Drittens erlaubt Load Balancing, flexibel zu wachsen. Statt einen immer teureren Großrechner zu kaufen, stellt man weitere normale Server dazu. Diese Strategie heißt horizontale Skalierung. Sie ist der Grund, warum moderne Rechenzentren aus vielen gleichartigen Maschinen bestehen und nicht aus wenigen riesigen.

Nach welchen Regeln verteilt wird

Die einfachste Regel heißt Round Robin: Der Verteiler geht die Server der Reihe nach durch, eine Anfrage für jeden, dann wieder von vorn. Das ist unkompliziert, ignoriert aber, dass manche Anfragen viel aufwendiger sind als andere. Ein Klick auf ein Bild kostet weniger Rechenzeit als eine komplizierte Datenbanksuche.

Klügere Verfahren schauen deshalb auf den Zustand der Server. Bei « Least Connections » bekommt der Rechner die Anfrage, der gerade die wenigsten offenen Verbindungen hat. Andere Verfahren messen die Antwortzeit oder die Auslastung des Prozessors. Man kann Servern auch Gewichte geben: Ein neuer, schneller Rechner erhält dann doppelt so viele Anfragen wie ein älterer.

Ein typisches Problem sind Sitzungsdaten. Wenn du dich einloggst und dein Warenkorb nur auf Server 7 gespeichert ist, darf die nächste Anfrage nicht bei Server 12 landen. Eine Lösung ist Session Stickiness: Der Verteiler merkt sich, wohin ein Nutzer gehört, und schickt ihn immer dorthin. Die sauberere Lösung ist, solche Daten in einem gemeinsamen Speicher abzulegen, auf den alle Server zugreifen. Dann ist es egal, wer die Anfrage bearbeitet.

Vom Streamingdienst bis zum KI-Rechenzentrum

Jeder große Dienst, den du benutzt, arbeitet mit Lastverteilung. Streamingportale verteilen Videoanfragen auf Server in deiner Nähe. Online-Spiele schieben Spieler auf verschiedene Instanzen. Wenn ein Ticketverkauf für ein Konzert startet und die Seite trotz Millionen Zugriffen läuft, steckt gute Lastverteilung dahinter. Bricht sie zusammen, liest man am nächsten Tag davon in den Nachrichten.

In der KI-Branche ist der Begriff doppelt präsent. Zum einen verteilen Anbieter wie OpenAI oder Google die Anfragen an ihre Chatbots auf riesige Mengen an Grafikkarten. Zum anderen taucht Load Balancing innerhalb der Modelle selbst auf: Bei einem Mixture-of-Experts-Modell entscheidet ein kleines Zusatznetz, welcher Teil des Modells eine Anfrage bearbeitet. Verteilt es schlecht, sind einige Teile überlastet und andere untätig. Entwickler bauen deshalb einen sogenannten Load-Balancing-Loss ein, der ungleiche Verteilung beim Training bestraft.

Bei Cloud-Anbietern ist Lastverteilung heute ein Produkt, das man mit wenigen Klicks bucht. Sie heißt dort etwa Elastic Load Balancer und wird oft mit Autoscaling kombiniert: Steigt die Last, starten automatisch neue Server, und der Verteiler bezieht sie sofort mit ein. Ein häufiger Irrtum ist, Load Balancing sei dasselbe wie ein Content Delivery Network. Ein CDN speichert Inhalte nah beim Nutzer zwischen, ein Lastverteiler entscheidet, welcher Rechner die Arbeit übernimmt.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.