Definition

Load Balancing (Lastenverteilung)

Mitarbeiter: Alissa Irei, Greg Funk, Michael King and Malcolm Turnbull

Load Balancing (Lastausgleich) ist eine Technik zum gleichmäßigen Verteilen von Workloads auf Servern oder andere Rechenressourcen, um die Effizienz, Zuverlässigkeit und Kapazität des Netzwerks zu optimieren.

Fortsetzung des Inhalts unten

Load Balancing wird von einer Appliance – entweder physisch oder virtuell – durchgeführt, die in Echtzeit ermittelt, welcher Server in einem Pool eine bestimmte Client-Anforderung am besten erfüllen kann, wobei sichergestellt wird, dass ein hoher Netzwerkverkehr einen einzelnen Server nicht übermäßig überlastet.

Neben der Maximierung der Netzwerkkapazität und -leistung bietet Load Balancing auch eine Ausfallsicherheit. Fällt ein Server aus, leitet ein Load Balancer seine Workloads sofort auf einen Backupserver um und fängt damit die Auswirkungen auf die Endbenutzer ab.

Load Balancing wird normalerweise entweder Layer 4 oder Layer 7 zugeordnet. Layer 4 Load Balancer verteilen den Datenverkehr auf der Grundlage von Transportdaten, wie zum Beispiel IP-Adressen und TCP-Portnummern (Transmission Control Protocol). Layer 7 Work Balancer treffen Routing-Entscheidungen auf der Grundlage von Merkmalen auf Anwendungsebene, die HTTP-Header-Informationen und den tatsächlichen Inhalt der Nachricht umfassen, wie zum Beispiel URLs und Cookies. Layer 7 Load Balancer sind häufiger anzutreffen, aber auch Load Balancer auf Level 4 sind nach wie vor beliebt, insbesondere bei Edge-Bereitstellungen.

Wie Load Balancing funktioniert

Load Balancer bearbeiten eingehende Anfragen von Benutzern nach Informationen und anderen Diensten. Sie sitzen zwischen den Servern, die diese Anfragen bearbeiten, und dem Internet. Sobald eine Anfrage eingegangen ist, ermittelt der Load Balancer zunächst, welcher Server in einem Pool verfügbar und online ist, und leitet die Anfrage dann an diesen Server weiter. In Zeiten hoher Last kann ein Load Balancer als Reaktion auf Verkehrsspitzen dynamisch Server hinzufügen. Umgekehrt kann er Server abwerfen, wenn die Nachfrage gering ist.

Ein Load Balancer kann eine physische Anwendung, eine Software-Instanz oder eine Kombination aus beidem sein. Früher luden Hersteller proprietäre Software auf dedizierte Hardware und verkauften diese dann als eigenständige Gerät – normalerweise paarweise, um bei einem Ausfall eine Reserve bereitzustellen. Wachsende Netzwerke erforderten den Kauf zusätzlicher oder größerer Geräte.

Im Gegensatz dazu läuft der Software-Load-Balancer auf virtuellen Maschinen (VMs) oder White-Box-Servern, meist in Abhängigkeit von einem Application Delivery Controller (ADC). ADCs bieten in der Regel zusätzliche Funktionen wie Caching, Komprimierung, Traffic Shaping und so weiter. Der in Cloud-Umgebungen beliebte virtuelle Load Balancer kann ein hohes Maß an Flexibilität bieten – zum Beispiel können Benutzer automatisch nach oben oder unten skalieren, um Verkehrsspitzen oder verringerte Netzwerkaktivität zu spiegeln.

Aufbau eines Load Balancers
Abbildung 1: Aufbau eines Load Balancers

Methoden zum Lastausgleich

Load-Balancing-Algorithmen bestimmen, welche Server bestimmte eingehende Client-Anforderungen erhalten. Die Standardmethoden sind wie folgt:

  • Der hashbasierte Ansatz berechnet den bevorzugten Server eines bestimmten Kunden auf der Grundlage von bestimmten Schlüsseln, wie HTTP-Headern oder IP-Adressinformationen. Diese Methode unterstützt die Sitzungspersistenz oder -Stickiness, was Anwendungen zugutekommt, die sich auf benutzerspezifisch gespeicherte Statusinformationen stützen, wie zum Beispiel Warenkörbe auf E-Commerce-Sites.
  • Die Least-Connection-Methode bevorzugt Server mit den wenigsten laufenden Transaktionen, das heißt die am wenigsten ausgelasteten.
  • Der Least-time-Algorithmus berücksichtigt sowohl Server-Antwortzeiten als auch aktive Verbindungen – er sendet neue Anfragen an die schnellsten Server mit den wenigsten offenen Anfragen.
  • Das Round-Robin-Verfahren (Rundlaufverfahren) – historisch gesehen der Standard für das Load Balancing – durchläuft einfach eine Liste der verfügbaren Server in sequentieller Reihenfolge.

Die Formeln können in ihrer Komplexität und Ausgereiftheit erheblich variieren. Gewichtete Lastausgleichsalgorithmen berücksichtigen beispielsweise auch Serverhierarchien, wobei bevorzugte Server mit hoher Kapazität mehr Datenverkehr erhalten als solche mit geringerer Gewichtung.

Diese Definition wurde zuletzt im Juli 2020 aktualisiert

Erfahren Sie mehr über Netzwerk- und Anwendungs-Performance

- GOOGLE-ANZEIGEN

File Extensions and File Formats

ComputerWeekly.de

Close