Load Balancing ist die Verteilung eingehender Anfragen auf mehrere Server, damit keiner überlastet wird. Englisch load heißt Last und to balance ausgleichen. Vor den Servern steht dafür ein Verteiler, der jede Anfrage annimmt und weitergibt.
- Load Balancing
Die Verteilung von Anfragen auf mehrere Server, damit keiner überlastet wird.
Beispiel: „Das Load Balancing schickt die Anfragen abwechselnd an vier Instanzen.“Auch: Lastverteilung, Lastausgleich. Der Verteiler selbst heißt Load Balancer; diese Rolle übernimmt oft nginx oder ein Dienst des Anbieters.
Abgrenzung zum CDN: Das verteilt Kopien von Dateien über Standorte. Load Balancing verteilt Anfragen über Server am selben Ort.
Wie Load Balancing verteilt
Nach einfachen Regeln. Der Reihe nach, also jede Anfrage an den nächsten Server. Nach Gewicht, wenn eine Maschine größer ist als die andere. Oder nach Auslastung, also an den Server mit den wenigsten offenen Verbindungen.
Wichtiger als die Regel ist der Health Check, also die laufende Prüfung, ob eine Instanz überhaupt noch antwortet. Der Verteiler ruft dafür in kurzen Abständen eine Testadresse auf jedem Server auf und nimmt den heraus, der schweigt oder einen Fehler meldet. Damit verschwindet der Ausfall einer Maschine für den Besucher.
Was Load Balancing voraussetzt
Server, die austauschbar sind. Jede Instanz muss dieselbe Antwort geben können, also denselben Programmstand haben und auf dieselben Daten zugreifen. Hochgeladene Dateien gehören deshalb in einen gemeinsamen Speicher und nicht auf die Platte einer Instanz.
Der zweite Punkt sind die Sitzungen. Wird die Anmeldung auf einer Instanz gespeichert, ist der Besucher auf der nächsten abgemeldet. Entweder wird er immer zur selben Instanz geschickt, oder die Sitzungen liegen gemeinsam, was die sauberere Lösung ist.
Wann Load Balancing gebraucht wird
Wenn eine Maschine die Last nicht mehr trägt oder wenn ein Ausfall nicht sichtbar werden darf. Beides geht zusammen: Mit zwei Instanzen hinter einem Verteiler ist zugleich die Grundlage für High Availability gelegt.
Für die meisten Websites kommt der Schritt zu früh. Vorher sind ein Cache, kleinere Dateien und ein größerer VPS billiger und wirken stärker. Load Balancing lohnt sich ab dem Punkt, an dem Verfügbarkeit Geld wert ist.