Was ist ein Load Balancer?

Ein Load Balancer ermöglicht die dynamische Verteilung des Netzwerkdatenverkehrs auf Ressourcen (lokal oder in der Cloud), um eine Anwendung zu unterstützen.

Ein Load Balancer ist eine Lösung, die als Datenverkehrs-Proxy fungiert und den Netzwerk- oder Anwendungsdatenverkehr auf Endpunkte auf einer Reihe von Servern verteilt. Load Balancer werden verwendet, um die Kapazität während der Spitzenzeiten des Datenverkehrs zu verteilen und die Zuverlässigkeit von Anwendungen zu erhöhen. Sie verbessern die Gesamtleistung von Anwendungen, indem sie die Belastung einzelner Dienste oder Clouds verringern und den Bedarf auf verschiedene Rechenoberflächen verteilen, um die Aufrechterhaltung von Anwendungs- und Netzwerksitzungen zu unterstützen. 

Moderne Anwendungen müssen Millionen von Sitzungen gleichzeitig verarbeiten und jedem Benutzer schnell und zuverlässig den richtigen Text, die richtigen Videos, Bilder und andere Daten zurückgeben. Zur Bewältigung eines solch hohen Datenverkehrsaufkommens verfügen die meisten Anwendungen über viele Ressourcenserver mit doppelten Daten.

Der Lastausgleich verteilt den Netzwerkdatenverkehr dynamisch über ein Netzwerk von Ressourcen, die eine Anwendung unterstützen. Ein Load Balancer ist das Gerät oder der Dienst, der sich zwischen dem Benutzer und der Servergruppe befindet und als unsichtbarer Vermittler fungiert, der sicherstellt, dass alle Ressourcenserver gleichmäßig genutzt werden. Ein Load Balancer trägt dazu bei, die Zuverlässigkeit und Verfügbarkeit zu erhöhen, selbst in Zeiten hoher Nutzung und Nachfrage, und sorgt für längere Betriebszeiten und ein besseres Benutzererlebnis.

Vorteile des Lastausgleichs

Benutzer und Kunden sind darauf angewiesen, Informationen nahezu in Echtzeit abrufen und Transaktionen durchführen zu können. Verzögerungen oder unzuverlässige und inkonsistente Antworten – selbst in Zeiten hoher Nachfrage und Nutzung – können einen Kunden für immer vergraulen. Und hohe Spitzen im Rechenbedarf können einen internen Server oder ein Serversystem in Mitleidenschaft ziehen, wenn die eingehende Nachfrage – oder „Last“ – zu hoch ist, um problemlos bewältigt zu werden.

Der Einsatz eines Load Balancers hat folgende Vorteile:

  • Anwendungsverfügbarkeit: Interne und externe Benutzer müssen sich auf die Anwendungsverfügbarkeit verlassen können. Wenn eine Anwendung oder Funktion ausfällt, verzögert oder eingefroren ist, geht wertvolle Zeit verloren – und es entsteht eine potenzielle Reibungsfläche, die einen Kunden zu einem Mitbewerber treiben kann.
  • Skalierbarkeit der Anwendung: Stellen Sie sich vor, Sie betreiben ein Kartenverkaufsunternehmen und es wird bekannt gegeben, dass zu einem bestimmten Datum und einer bestimmten Uhrzeit Karten für eine beliebte Aufführung erhältlich sind. Es könnten Tausende oder sogar noch mehr Leute versuchen, auf Ihre Website zuzugreifen, um Karten zu kaufen. Ohne einen Load Balancer wäre Ihre Website auf die Kapazität Ihres einzigen/ersten Servers beschränkt, was bei einer so großen Nachfrage wahrscheinlich nicht viel ist. Stattdessen können Sie für diese große Datenverkehrsspitze planen, indem Sie einen Load Balancer einsetzen, der Anforderungen und Datenverkehr auf andere verfügbare Rechenflächen umleitet. Und das bedeutet, dass mehr Kunden ihre gewünschten Karten erhalten können.
  • Anwendungssicherheit: Mit dem Lastausgleich können Organisationen ihre Sicherheitslösungen skalieren. Eine der wichtigsten Möglichkeiten ist die Verteilung des Datenverkehrs auf mehrere Backend-Systeme, wodurch die Angriffsfläche minimiert wird und es schwieriger wird, Ressourcen zu erschöpfen und Verbindungen zu sättigen. Load Balancer können den Datenverkehr auch auf andere Systeme umleiten, wenn ein System anfällig oder gefährdet ist. Darüber hinaus können Load Balancer einen zusätzlichen Schutz gegen DDoS-Angriffe bieten, indem sie den Datenverkehr zwischen Servern umleiten, wenn ein bestimmter Server anfällig wird.
  • Anwendungsleistung: Ein Load Balancer steigert die Anwendungsleistung, indem er die Sicherheit erhöht, die Betriebszeit optimiert und die Skalierbarkeit bei Nachfragespitzen ermöglicht, so dass Ihre Anwendungen wie vorgesehen funktionieren – und zwar so, wie Sie und Ihre Kunden es wünschen.

Lastausgleichsalgorithmus

Es gibt zwei Arten von Lastausgleichsalgorithmen: den statischen und den dynamischen. Der statische Lastausgleich misst die auf einem Server eingehende Last mit Hilfe von Algorithmen, die über Informationen zur Leistungskapazität der vorhandenen Server im verteilten Netzwerk verfügen. Der dynamische Lastausgleich kann dynamisch ermitteln, wie viel Last während der Laufzeit abgeleitet werden muss und welches System die Last tragen soll. Er ist für Systeme mit starken Schwankungen der eingehenden Last konzipiert.

Nachfolgend sind einige der gebräuchlichen Arten von Lastausgleichsalgorithmen aufgeführt.

  • Rundlauf (Round Robin): Dieser Algorithmus sendet den Datenverkehr über das Domain Name System (DNS) abwechselnd an eine Liste von Servern (Hinweis: Der DNS-Lastausgleich kann auch eine dynamische Lösung sein.)
  • Schwellenwert: Dieser Algorithmus verteilt die Aufgaben auf der Grundlage eines Schwellenwerts, der vom Administrator festgelegt wird.
  • Zufällig mit zwei Auswahlmöglichkeiten: Der Algorithmus „Zweierpotenz“ (Power of Two) wählt zwei Server nach dem Zufallsprinzip aus und sendet die Anforderung an den ausgewählten Server, indem er den Algorithmus für die aktive Verbindungslast oder den Algorithmus für die geringste Zeit anwendet, sofern er so konfiguriert ist.
  • Aktive Verbindungslast (Least Connections): Eine neue Anforderung wird an den Server mit den wenigsten aktuellen Verbindungen zu Clients gesendet. Die relative Rechenkapazität jedes Servers wird bei der Bestimmung des Servers mit den wenigsten Verbindungen oder der geringsten Bandbreiten- oder Ressourcenauslastung berücksichtigt.
  • Geringste Zeit (Leas Time): Bei diesem Algorithmus wird eine Anforderung an den Server gesendet, der nach einer Formel ausgewählt wird, die die schnellste Antwortzeit und die wenigsten aktiven Verbindungen kombiniert.
  • URL-Hash: Dieser Algorithmus generiert einen Hash-Wert auf der Grundlage der in Client-Anforderungen enthaltenen URL. Die Anforderungen werden auf der Grundlage des Hash-Werts an die Server weitergeleitet. Der Load Balancer speichert den Hash-Wert der URL im Cache, sodass nachfolgende Anforderungen, die dieselbe URL verwenden, zu einem Cache-Treffer führen und an denselben Server weitergeleitet werden.
  • Quell-IP-Hash: Dieser Algorithmus verwendet die Quell- und Ziel-IP-Adressen des Clients, um einen eindeutigen Hash-Schlüssel zu generieren, der den Client an einen bestimmten Server bindet. Da der Schlüssel neu generiert werden kann, wenn die Verbindung unterbrochen wird, ermöglicht dies, dass erneute Verbindungsanforderungen an denselben Server weitergeleitet werden, der zuvor verwendet wurde.
  • Konsistentes Hashing: Dieser Algorithmus ordnet sowohl Clients als auch Server einer Ringstruktur zu, wobei jedem Server je nach seiner Kapazität mehrere Punkte auf dem Ring zugewiesen werden. Wenn eine Client-Anforderung eingeht, wird sie einem Punkt auf dem Ring zugeordnet und dann dynamisch im Uhrzeigersinn an den nächsten verfügbaren Server weitergeleitet.

Wie funktioniert der Lastausgleich?

Der Lastausgleich funktioniert derart, dass er entweder statisch oder dynamisch auf eine Benutzeranforderung antwortet und diese Anforderung an einen der Backend-Server verteilt, die in der Lage sind, der Anforderung nachzukommen. Wenn einer der Server ausfällt, leitet der Lastausgleich den Datenverkehr an die verbleibenden Online-Server um.

Beispiele des Lastausgleichs

Ein Beispiel für den statischen Lastausgleich: Ein Unternehmen hostet eine Website mit weitgehend statischem Inhalt. Dieses Szenario wäre ideal für einen statischen Load Balancer, da die Anforderungen an den Datenverkehr vorhersehbar und konsistent sind. Das Unternehmen kann zwei (oder mehr) identische Webserver verwenden, auf die der statische Load Balancer den Datenverkehr verteilen kann.

Ein Beispiel für den dynamischen Lastausgleich: In einem Unternehmen kommt es zu Schwankungen, Spitzen und Einbrüchen im Datenverkehr. Einige davon sind vorhersehbar, andere nicht. Diese Organisationen würden von einem dynamischen Lastausgleich profitieren. Zu diesen Unternehmen gehören beispielsweise ein E-Commerce-Händler, der die Öffnungszeiten und Termine für den „Black Friday“ ankündigt; ein Gesundheitsunternehmen, das gerade angekündigt hat, dass es Online-Termine für einen saisonalen Impfstoff vereinbaren kann; eine staatliche Arbeitsagentur, die von Arbeitslosenversicherungsempfängern verlangt, dass sie ihren wöchentlichen Antrag an einem bestimmten Wochentag einreichen; eine Hilfsorganisation, die nach einer Naturkatastrophe schnell online reagieren muss. Einige dieser Schwankungen und Spitzen im Datenverkehr und in der Nachfrage sind planbar, andere jedoch nicht. In diesen Szenarien hilft ein dynamischer Lastausgleichsalgorithmus dabei, den Zugriff auf Anwendungen und Ressourcen sicherzustellen, wenn Kunden und Benutzer sie am dringendsten benötigen.

Verschiedene Arten von Load Balancern

Verschiedene Arten von Load Balancern mit unterschiedlichen Fähigkeiten befinden sich in der Architektur, die als Open System Interconnection (OSI)-Modell bezeichnet wird. In diesem Modell gibt es sieben Schichten. Netzwerk-Firewalls befinden sich auf den Ebenen eins bis drei (L1-physische Verkabelung, L2-Datenverbindung und L3-Netzwerk). Der Lastausgleich findet auf den Schichten vier bis sieben statt (L4-Transport, L5-Sitzung, L6-Präsentation und L7-Anwendung). Load Balancer werden in der Regel auf Schicht 4 und Schicht 7 eingesetzt.

  • Load Balancer auf der Schicht 4 leiten den Verkehr auf der Grundlage von Daten aus Protokollen der Netzwerk- und Transportschicht (IP, TCP, FTP, UDP).
  • Load Balancer auf Schicht 7 verteilen Anforderungen auf der Grundlage von Daten, die in Protokollen der Anwendungsschichten enthalten sind, z. B. HTTP-Header, Cookies, Uniform Resource Identifier (Einheitlicher Bezeichner für Ressourcen), SSL-Sitzungs-ID und HTML-Formulardaten. Sie ermöglichen auch Routing-Entscheidungen auf der Grundlage von Daten in der Anwendungsnachricht selbst, z. B. dem Wert eines bestimmten Parameters. Schicht 7 erweitert den Lastausgleich um Content-Switching.

Cloud-basierte Load Balancer

Cloud-basierte Load Balancer sind nicht nur Datenverkehrs-Controller für Datenverkehrsspitzen und für die Optimierung der Servernutzung. Cloud-native Load Balancer können auch vorhersagende Analysen bereitstellen, die Ihnen helfen, Datenverkehrsengpässe zu visualisieren, bevor sie auftreten. Das wiederum liefert verwertbare Erkenntnisse, die jedem Unternehmen helfen, seine IT-Lösungen zu optimieren.

Anwendungs-Lastausgleich: Da Unternehmen immer mehr auf Anwendungsleistung und -verfügbarkeit angewiesen sind, kann der Anwendungs-Lastausgleich ihnen helfen, den Betrieb zu skalieren, zu rationalisieren und Geld zu sparen.

Global Server Load Balancing: Mit Benutzern und Kunden auf der ganzen Welt können Unternehmen ihre Lastverfügbarkeit mit dem Global Server Load Balancing verbessern, der Benutzer zum nächstgelegenen Endpunkt schickt.

DNS-Lastausgleich: Das Konfigurieren einer Domäne im Domain Name System (DNS), sodass Benutzeranforderungen an die Domäne auf eine Gruppe von Server-Rechnern verteilt werden, wird als DNS-Lastausgleich bezeichnet.

Netzwerklastausgleich: Application Delivery Controller (ADCs), physische oder virtuelle Appliances, die als Proxys für physische Server fungieren, verwalten Anwendungs- oder Netzwerkfunktionen und sind zur Unterstützung auf eine Netzwerklastausgleichslösung angewiesen.

HTTP(S)-Lastausgleich: Die Technik zur Verteilung des Datenverkehrs auf mehrere Web- oder Anwendungsservergruppen zur Optimierung der Ressourcenauslastung wird als HTTP(S)-Lastausgleich bezeichnet.

Interner Lastausgleich: Ein interner Load Balancer ist einem privaten Subnetz zugeordnet und hat keine öffentliche IP. Er arbeitet typischerweise innerhalb einer Serverfarm.

Diameter: Ein Diameter-Load-Balancer verteilt den Signalisierungsdatenverkehr auf mehrere Server in einem Netzwerk. Eine der kosteneffektivsten Möglichkeiten, dies zu tun, ist die Skalierung der Diameter-Kontrollebene anstelle der Datentransportschicht. (Der Diameter-Load-Balancer kann auch statisch oder dynamisch sein.)

Load-Balancer-Technologie

Es gibt noch andere Arten von Load Balancer-Lösungen, die allein oder in einem Netzwerk mit Cloud-nativen Load Balancern verwendet werden können. Hier sind einige bemerkenswerte Arten.

Hardware-Load-Balancer: Ein Hardware-Load-Balancer ist ein physisches Gerät mit einem spezialisierten Betriebssystem, das so programmiert werden kann, dass es den Web-Datenverkehr auf mehrere Anwendungsserver verteilt, die sich in der Regel vor Ort befinden.

Software-Load-Balancer: Ein Software-Load-Balancer funktioniert wie ein physischer Load Balancer, er wird allerdings auf Softwareprogrammen ausgeführt. Die Software hält Anwendungen bei allen Arten von Datenverkehrsanforderungen verfügbar und nutzt sowohl statischen als auch dynamischen Lastausgleich, um einzelne Fehlerpunkte zu eliminieren.

Virtueller Load Balancer: Ein virtueller Load Balancer ist eine Kombination aus Hardware- und Software-Load-Balancern, die mit Hilfe von Application Delivery Controller-Software die Last des Netzwerkdatenverkehrs auf Hardware-Backend-Server verteilt.

Wie F5 helfen kann

Den richtigen Load Balancer für die Anforderungen Ihrer Organisation zu finden, ist entscheidend für die Verfügbarkeit und Optimierung Ihrer Systeme, den Zugriff auf Ihre Daten und die Zufriedenheit Ihrer Benutzer und Kunden.

F5 ist in der Lage, die spezifischen Anforderungen Ihrer Organisation an einen Load Balancer zu erfüllen – von einer statischen Lösung bis hin zu einer integrierten, globalen Lösung, die die Stärken von Hardware-, Software- und Cloud-basierten Load Balancern kombiniert. F5 hat einen Lastausgleichsalgorithmus oder eine Lösung für Ihre individuellen Unternehmensanforderungen.

BIG-IP-Anwendungsdienste bieten eine integrierte Lösung für die Verwaltung, Skalierung und Optimierung Ihrer digitalen Anwendungsdienste. Der BIG-IP Local Traffic Manager (LTM) umfasst statischen und dynamischen Lastausgleich, um einzelne Fehlerquellen zu beseitigen. F5 BIG-IP DNS ermöglicht den Lastausgleich über Anwendungen hinweg und wendet ihn global an, um sicherzustellen, dass Ihre Anwendungen aktiv sind und auf die Anforderungen Ihrer Kunden antworten.

Der F5 Distributed Cloud DNS Load Balancer bietet eine einfache Lastausgleichslösung mit zuverlässiger Notfallwiederherstellung, sodass sich Ihre Entwicklungsteams auf die Förderung der Innovation Ihres Unternehmens konzentrieren können.

F5 Distributed Cloud App Connect ermöglicht den Lastausgleich, indem es Ihre Anwendungen und Dienste sicher über jede Art von Umgebung, einschließlich Edge, verbindet.

F5 bietet eine umfassende Suite von Lastausgleichslösungen, um Ihre Anwendungen, Ihren Datenverkehr, Ihre Daten und Ihre Rechenoberfläche zu optimieren.

Ressourcen

WHITE PAPER

WHITE PAPER
Load Balancing 101: Nuts and Bolts › (Lastausgleich 101: praktische Grundlagen ›)

ANWENDUNGSFÄLLE

ANWENDUNGSFÄLLE
Load Balancing Your Applications › (Lastausgleich für Ihre Anwendungen ›)

GLOSSAR

GLOSSAR
What Is a Diameter Load Balancer? › (Was ist ein Diameter-Load-Balancer? ›)

DATENBLATT

DATENBLATT
Big-IP Local Traffic Manager: Application Delivery, at Scale › (Big-IP Local Traffic Manager: Anwendungsbereitstellung in großem Maßstab ›)

WHITE PAPER

WHITE PAPER
Load Balancing on AWS: Know Your Options › (Lastausgleich in AWS: Sie sollten Ihre Optionen kennen ›)

WHITE PAPER

WHITE PAPER
Load Balancing 101: The Evolution to ADCs › (Lastausgleich 101: Die Entwicklung zu ADCs ›)