Definition

Load Balancing (Lastverteilung)

Was ist Load Balancing?

Lastverteilung oder Load Balancing, seltener auch als Lastausgleich bezeichnet,  ist eine Technik, die zur Verteilung des Netzwerkverkehrs auf eine Gruppe von Servern, eine so genannte Serverfarm, verwendet wird. Sie optimiert die Netzwerkleistung, -zuverlässigkeit und -kapazität und reduziert die Latenzzeiten, indem die Nachfrage gleichmäßig auf mehrere Server und Rechenressourcen verteilt wird.

Beim Load Balancing ermittelt eine physisch oder virtuelle Appliance in Echtzeit, welcher Server in einem Pool eine bestimmte Client-Anfrage am besten erfüllen kann und gewährtleistet zeitgleich, dass kein Server durch den Netzwerkverkehr überlastet wird.

Neben dem Erhalt der Leistungsfähigkeit und einer optimalen Netzwerkauslastung hat Load Balancing zusätzlich Ausfallsicherheitsfunktionen zu bieten. Wenn ein Server ausfällt, leitet ein Load Balancer die Workloads sofort auf einen Backup-Server um und mildert so die Auswirkungen auf die Endbenutzer.

Load Balancing sitzt in der Regel als Unterstützung von Layer 4 oder Layer 7 im OSI-Kommunikationsmodells (Open Systems Interconnection). Layer 4 Load Balancer verteilen den Datenverkehr auf der Grundlage von Transportdaten wie IP-Adressen und TCP-Portnummern. Layer-7-Load-Balancing-Geräte treffen Routing-Entscheidungen auf der Grundlage von Merkmalen auf Anwendungsebene, zu denen HTTP-Header-Informationen und der eigentliche Inhalt der Nachricht, wie URLs und Cookies, gehören. Layer 7 Load Balancer sind häufiger anzutreffen; Layer 4 Load-Balancer sind jedoch immer noch beliebt, insbesondere bei Edge-Bereitstellungen.

Wie funktioniert Load Balancing?

Load Balancer bearbeiten eingehende Anfragen von Benutzern und anderen Diensten. Sie befinden sich zwischen den Servern, die diese Anfragen bearbeiten, und dem Internet. Sobald eine Anfrage eingeht, 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 reagiert ein Load Balancer prompt und kann als Reaktion auf Spitzen im Datenverkehr dynamisch Server hinzufügen. Umgekehrt schalten Load Balancer Server ab, wenn die Nachfrage gering ist.

Load Balancer verteilen Anfragen in einem Netzwerk auf die Server.
Abbildung 1: Load Balancer verteilen Anfragen in einem Netzwerk auf die Server.

Typen von Load Balancern

Load Balancing ist eine Schlüsselkomponente für hochverfügbare Infrastrukturen. Je nach den Anforderungen eines Netzwerks können verschiedene Arten von Load Balancern mit unterschiedlichen Speicherkapazitäten, Funktionalitäten und Komplexitäten zusammenarbeiten.

Ein Load Balancer kann eine physische Appliance, eine Softwareinstanz oder eine Kombination aus beidem sein. Folgend stellen wir zwei Arten von Load Balancern vor:

Hardware-Load-Balancer

Ein Hardware-Load-Balancer ist ein Hardwaregerät mit spezieller und proprietärer integrierter Software, das zum Bewältigen großer Mengen von Anwendungsverkehr ausgelegt ist. Diese Load Balancer verfügen über eine integrierte Virtualisierungsfunktion und ermöglichen da Verwenden mehrerer Instanzen eines virtuellen Load Balancers auf einem einzigen Gerät.

Traditionell luden die Anbieter proprietäre Software auf dedizierte Hardware und verkauften sie als eigenständige Appliances an die Benutzer – in der Regel paarweise, um Ausfallsicherung zu gewährleisten. Wachsende Netzwerke erfordern den Kauf zusätzlicher oder größerer Appliances.

Software-Load-Balancer

Der Software-Load-Balancer läuft auf virtuellen Maschinen (VMs) oder White-Box-Servern, meist als Application-Delivery-Controller-Funktion (ADC). ADCs bieten in der Regel zusätzliche Funktionen, darunter Caching, Komprimierung und Traffic Shaping. Der in Cloud-Umgebungen beliebte virtuelle Lastenausgleich bietet ein hohes Maß an Flexibilität. Er ermöglicht es den Benutzern beispielsweise, den Datenverkehr automatisch nach oben oder unten zu skalieren, um Verkehrsspitzen oder einen Rückgang der Netzwerkaktivität zu spiegeln.

Cloud-basierte Lastverteilung

Das Cloud Load Balancing nutzt die Cloud als zugrunde liegende Infrastruktur, um Cloud-Computing-Umgebungen auszugleichen.

Hier sind Beispiele für Cloud-basierte Lastverteilungmodelle:

  • Netzwerk-Load-Balancing: Dies ist die schnellste verfügbare Lastausgleichsoption. Sie arbeitet auf Schicht 4 des OSI-Modells und verwendet Informationen der Netzwerkschicht für den Transport des Netzwerkverkehrs.
  • Sicherer HTTP-Lastverteilung: Damit können Netzwerkadministratoren den Verkehr auf der Grundlage der von der HTTP-Adresse stammenden Informationen verteilen. Sie basiert auf Schicht 7 und ist eine der flexibelsten Lastausgleichsoptionen.
  • Interne Lastverteilung: Diese Option ähnelt dem Netzwerk-Lastausgleich, kann aber auch die Verteilung des Datenverkehrs über die interne Infrastruktur ausgleichen.
  • Managed Load Balancing: Cloud-Provieder beiten ihren Kunden auch Managed Load Balancer an. Diese nehmen dem Nutzer einen Großteil der Konfiguration und Wartung ab.
  • Load Balancing as a Service (LBaaS): Dies ist ein Cloud-basiertes Modell, bei dem der Cloud-Anbieter die Load-Balancing-Infrastruktur verwaltet. Dies bietet Flexibilität und reduziert den Verwaltungsaufwand für den Benutzer.

Wichtige Anbieter von Cloud Load Balancern

Auf dem Markt für Cloud Load Balancer tummeln sich zahlreiche Anbieter mit jeweils eigenen Stärken und Spezialisierungen. Amazon Web Services (AWS) bietet mit dem Elastic Load Balancer (ELB) eine umfassende Palette an Optionen, darunter Application Load Balancer (ALB) für Layer-7-Verkehr, Network Load Balancer (NLB) für hochperformanten Layer-4-Verkehr und Classic Load Balancer für Legacy-Anwendungen.

Microsoft Azure bietet mit dem Azure Load Balancer eine ähnliche Funktionalität, die sowohl interne als auch externe Lastverteilung unterstützt.

Google Cloud Platform (GCP) bietet einen Cloud Load Balancer, der eine globale Lastverteilung und erweiterte Funktionen für das Traffic-Management ermöglicht.

Neben diesen großen Cloud-Anbietern gibt es auch spezialisierte Anbieter wie F5 mit seiner Distributed Cloud Services Platform und Citrix mit Citrix ADC, die erweiterte Sicherheits- und Leistungsoptimierungsfunktionen bieten. Die Wahl des richtigen Anbieters hängt stark von den spezifischen Anforderungen, dem Budget und der bereits vorhandenen Infrastruktur ab.

Lastausgleichsalgorithmen

Lastausgleichsalgorithmen bestimmen, welche Server bestimmte eingehende Kundenanfragen erhalten. Es gibt zwei Haupttypen von Lastausgleichsalgorithmen: statisch und dynamisch.

  1. Statische Lastausgleichsalgorithmen
  • Der IP-Hash-basierte Ansatz berechnet den bevorzugten Server eines bestimmten Clients auf der Grundlage bestimmter Schlüssel, wie HTTP-Header oder IP-Adressinformationen. Diese Methode unterstützt die Dauerhaftigkeit von Sitzungen, was Anwendungen zugutekommt, die auf benutzerspezifisch gespeicherte Zustandsinformationen angewiesen sind, wie zum Beispiel Warenkörbe im elektronischen Handel.
    Als moderne Alternative zum IP-Hash minimiert Consistent Hashing die Anzahl der Schlüssel, die neu zugeordnet werden müssen, wenn sich die Serveranzahl ändert.
  • Die Round-Robin-Methode durchläuft alle verfügbaren Server in sequentieller Reihenfolge und verteilt den Datenverkehr über das Domain Name System (DNS) an eine Liste von Servern.
  • Ein autoritativer Nameserver führt eine Liste verschiedener A-Einträge und stellt einen davon als Antwort auf jede DNS-Anfrage bereit.
  • Der gewichtete Round-Robin-Ansatz ermöglicht es den Administratoren, jedem Server unterschiedliche Gewichtungen zuzuweisen. Auf diese Weise erhalten die Server, die mehr Verkehr bewältigen können, entsprechend ihrer Gewichtung etwas mehr Verkehr. Die Gewichtung wird in den DNS-Einträgen konfiguriert.
  1. Dynamische Lastausgleichsalgorithmen
  • Die Methode der geringsten Verbindungen bevorzugt die Server mit den wenigsten laufenden Transaktionen und Prüfungen und leitet den Datenverkehr an die Server mit den wenigsten offenen Verbindungen. Bei diesem Algorithmus wird davon ausgegangen, dass alle Verbindungen nahezu die gleiche Verarbeitungsleistung erfordern.
  • Bei der Methode der gewichteten geringsten Verbindungen wird davon ausgegangen, dass manche Server im Netzwerk mehr Kapazität haben als andere. Daher können Administratoren den einzelnen Servern unterschiedliche Gewichte zuweisen.
  • Der Ansatz der gewichteten Antwortzeit verwendet die durchschnittlichen Antwortzeiten der einzelnen Server und kombiniert sie mit der Anzahl der Verbindungen, die jeder Server geöffnet hat, um das beste Ziel für den Datenverkehr zu finden. Dieser Algorithmus gewährleistet einen schnelleren Service, da er den Datenverkehr an die Server mit der schnellsten Antwortzeit sendet.
  • Der ressourcenbasierte Algorithmus verteilt die Last auf der Grundlage der Verfügbarkeit von Ressourcen auf jedem Server zum jeweiligen Zeitpunkt. Vor dem Verteilen des Datenverkehrs wird eine spezielle Software, ein so genannter Agent, abgefragt, der auf jedem Server läuft, um die Verfügbarkeit der zentralen Verarbeitungseinheit und des Speichers zu messen.

Vorteile von Load Balancing

Unternehmen, die mehrere Server verwalten, können von der Lastverteilung ihres Netzwerkverkehrs stark profitieren. Nachfolgend sind die wichtigsten Vorteile der Verwendung von Lastverteilern aufgeführt:

  • Verbesserte Skalierbarkeit: Lastverteiler skalieren die Serverinfrastruktur je nach Bedarf und Netzwerkanforderungen, ohne die Dienste zu beeinträchtigen. Wenn zum Beispiel eine Website eine große Anzahl von Besuchern anzieht, kann dies zu einem plötzlichen Anstieg des Datenverkehrs führen. Wenn der Webserver nicht in der Lage ist, diesen plötzlichen Zustrom von Daten zu bewältigen, kann die Website zusammenbrechen. Durch den Lastausgleich kann der zusätzliche Datenverkehr auf mehrere Server verteilt werden, so dass dies nicht passiert.
  • Verbesserte Effizienz: Durch die geringere Belastung der einzelnen Server fließt der Netzwerkverkehr besser und die Antwortzeiten verkürzen sich. Das führt letztlich zu einem besseren Erlebnis für die Besucher der Website.
  • Geringere Ausfallzeiten: Unternehmen mit globaler Präsenz und mehreren Standorten in verschiedenen Zeitzonen können vom Load Balancing profitieren, vor allem wenn es um die Wartung der Server geht. So kann ein Unternehmen beispielsweise den Server, der gewartet werden muss, herunterfahren und den Datenverkehr an die anderen verfügbaren Load Balancer weiterleiten, ohne dass es zu Serviceunterbrechungen oder Ausfallzeiten kommt.
  • Vorausschauende Analyse: Der Lastausgleich kann Ausfälle frühzeitig erkennen und helfen, sie zu bewältigen, ohne andere Ressourcen zu beeinträchtigen. So können softwarebasierte Load Balancer beispielsweise Verkehrsengpässe vorhersagen, bevor sie auftreten.
  • Effizientes Ausfallmanagement: Im Falle eines Ausfalls können Load Balancer den Datenverkehr automatisch auf funktionierende Ressourcen und Backup-Optionen umleiten. Wird beispielsweise ein Ausfall einer Netzwerkressource wie eines Mail-Servers festgestellt, können Load Balancer Ressourcen auf andere, nicht betroffene Bereiche umverteilen, um eine Unterbrechung des Dienstes zu verhindern.
  • Verbesserte Sicherheit: Load Balancer bieten eine zusätzliche Sicherheitsebene, zum Beispiel durch Funktionen wie SSL-Offloading, WAF-Integration (Web Application Firewall) und DDoS-Schutz, ohne dass große zusätzliche Änderungen oder Ressourcen erforderlich sind. Da immer mehr Datenverarbeitung in die Cloud verlagert wird, werden Load Balancer mit Sicherheitsfunktionen wie Offloading ausgestattet. Diese schützt ein Unternehmen vor DDoS-Angriffen (Distributed Denial-of-Service), indem der Angriffsverkehr vom Unternehmensserver auf einen Public-Cloud-Anbieter umgeleitet wird.

Hardware- versus Software-Load-Balancing

Sowohl Hardware- als auch Software-Load-Balancer haben spezifische Anwendungsfälle. Hardware-Load-Balancer erfordern Rack-and-Stack-Appliances, während Software-Load-Balancer auf Standard-x86-Servern, VMs oder Cloud-Instanzen installiert werden. Hardware-Load-Balancer sind so dimensioniert, dass sie Spitzenverkehrslasten bewältigen können. Softwareprodukte werden in der Regel auf der Grundlage der benötigten Bandbreite lizenziert.

Folgenden finden Sie einige Vor- und Nachteile von hardware- und softwarebasierten Load Balancern.

Hardware-Load-Balancer

Vorteile

  • Sie bieten einen hohen Durchsatz, da die Software auf speziellen Prozessoren ausgeführt wird.
  • Diese Load Balancer bieten eine bessere Sicherheit, da sie nur von der Organisation und nicht von einer dritten Partei verwaltet werden.
  • Sie haben einen festen Preis zum Zeitpunkt des Kaufs.

Nachteile

  • Hardware-Load-Balancer erfordern zusätzliches Personal und Fachwissen, um sie zu konfigurieren und zu programmieren.
  • Sie können nicht weiter skaliert werden, wenn eine bestimmte Anzahl von Verbindungen erreicht wurde. In diesem Fall werden Verbindungen entweder abgelehnt, unterbrochen oder verschlechtert, und die einzige Möglichkeit besteht darin, zusätzliche Maschinen zu kaufen und zu installieren.
  • Diese sind teurer, da die Kosten für ihre Anschaffung und Wartung höher sind. Der Besitz eines Hardware-Load-Balancers kann die Einstellung von Beratern für dessen Verwaltung erforderlich machen.

Software-Load-Balancer

Vorteile

  • Sie bieten die Flexibilität, sich an die wechselnden Bedürfnisse und Anforderungen eines Netzes anzupassen.
  • Durch Hinzufügen weiterer Software-Instanzen können sie über die ursprüngliche Kapazität hinaus skaliert werden.
  • Sie bieten einen Cloud-basierten Lastausgleich, der Optionen außerhalb des Standorts bietet, die in einem elastischen Servernetz betrieben werden können. Cloud Computing bietet auch Optionen mit verschiedenen Kombinationen, wie zum Beispiel hybride mit internen Standorten. So könnte ein Unternehmen beispielsweise den Haupt-Load-Balancer vor Ort haben und den Backup-Load-Balancer in der Cloud.

Nachteile

  • Bei der Skalierung über die Kapazität hinaus kann es bei Software-Loadbalancern zu einer anfänglichen Verzögerung kommen. Dies geschieht in der Regel, wenn die Load-Balancer-Software konfiguriert wird.
  • Da sie keine festen Anschaffungskosten haben, können bei Software-Load-Balancern laufende Kosten für Upgrades anfallen

Hinweis: Dieser Artikel wurde von der ComputerWeekly-Redaktion aktualisiert, um Branchenveränderungen widerzuspiegeln und das Leseerlebnis zu verbessern.

Diese Definition wurde zuletzt im Februar 2025 aktualisiert

Erfahren Sie mehr über Netzwerk- und Anwendungs-Performance