Lastverteilung verteilt Anfragen auf mehrere Systeme, damit kein einzelnes System überlastet wird. Sie ist Voraussetzung für Skalierbarkeit und ein Baustein der Hochverfügbarkeit.
Definition
Ein Load Balancer nimmt eingehende Anfragen entgegen und leitet sie nach festgelegten Regeln an eine von mehreren gleichwertigen Instanzen weiter. Fällt eine Instanz aus, wird sie automatisch aus der Verteilung genommen. Für den Nutzer bleibt der Dienst unter einer einzigen Adresse erreichbar.
Verteilverfahren
- Reihum: Anfragen werden der Reihe nach verteilt.
- Geringste Verbindungen: Die am wenigsten ausgelastete Instanz erhält die Anfrage.
- Gewichtet: Leistungsstärkere Systeme erhalten einen größeren Anteil.
- Sitzungsbezogen: Anfragen eines Nutzers landen immer auf derselben Instanz.
Die Sitzungsfrage
Anwendungen, die Nutzerzustände lokal speichern, vertragen sich schlecht mit freier Verteilung. Entweder wird die Sitzung fest an eine Instanz gebunden, was die Ausfallsicherheit schwächt, oder der Zustand wird ausgelagert, etwa in einen gemeinsamen Zwischenspeicher. Die zweite Variante ist aufwendiger, aber die Grundlage für echte Skalierbarkeit.
Gesundheitsprüfungen
Der Load Balancer prüft regelmäßig, ob eine Instanz erreichbar ist. Eine reine Portprüfung reicht selten, weil ein Dienst antworten kann, obwohl die dahinterliegende Datenbank nicht erreichbar ist. Sinnvoll ist eine Prüfung, die einen fachlich aussagekräftigen Zustand zurückgibt.
Abgrenzung
Lastverteilung erhöht Kapazität und Ausfallsicherheit im laufenden Betrieb. Ein Content Delivery Network verteilt darüber hinaus Inhalte geografisch näher an die Nutzer.
Weiterführende Begriffe
Sie planen ein komplexes IT-Projekt?
SABIC IT unterstützt Unternehmen und öffentliche Organisationen von der Projektinitialisierung bis zum Go-Live, strukturiert, transparent und mit klarem Fokus auf Ergebnisse.
Kostenloses Erstgespräch buchen