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

Ein Load Balancer ist eine Lösung, die als Verkehrsproxy fungiert und den Netzwerk- oder Anwendungsverkehr auf Endpunkte auf mehreren Servern verteilt. Lastenausgleichsmodule werden verwendet, um die Kapazität während Spitzenverkehrszeiten 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 die Nachfrage 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 die richtigen Texte, Videos, Bilder und anderen Daten zurückgeben. Um ein so hohes Datenverkehrsaufkommen bewältigen zu können, verfügen die meisten Anwendungen über zahlreiche Ressourcenserver mit doppelten Daten.

Durch Lastenausgleich wird der Netzwerkverkehr dynamisch über ein Netzwerk von Ressourcen verteilt, 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 und sicherstellt, dass alle Ressourcenserver gleichmäßig genutzt werden. Ein Load Balancer trägt dazu bei, die Zuverlässigkeit und Verfügbarkeit auch in Zeiten hoher Nutzung und Nachfrage zu erhöhen und sorgt für mehr Betriebszeit und ein besseres Benutzererlebnis.

In manchen Fällen ist es wichtig, dass alle Anfragen eines Clients für die Dauer einer Sitzung an denselben Server gesendet werden, beispielsweise wenn ein Client Artikel in einen Einkaufswagen legt und anschließend den Kauf abschließt. Das Aufrechterhalten der Verbindung zwischen Client und Server wird als Sitzungspersistenz bezeichnet. Ohne Sitzungspersistenz müssen Informationen zwischen mehreren Servern synchronisiert und möglicherweise mehrfach abgerufen werden, was zu Leistungseinbußen führt.

Vorteile des Lastenausgleichs

Benutzer und Kunden sind auf die Möglichkeit angewiesen, Informationen nahezu in Echtzeit zu finden und Transaktionen durchzuführen. Verzögerungen oder unzuverlässige und inkonsistente Antworten – selbst während der Spitzennachfrage- und Nutzungszeiträume – können einen Kunden für immer vergraulen. Und hohe Spitzen im Rechenbedarf können ein Chaos auf einem internen Server oder Serversystem verursachen, wenn die eingehende Nachfrage – oder „Last“ – zu hoch ist, um problemlos bewältigt werden zu können. 

Die Verwendung eines Lastenausgleichs bietet folgende Vorteile:

  • Anwendungsverfügbarkeit: Sowohl interne als auch externe Benutzer müssen sich auf die Anwendungsverfügbarkeit verlassen können. Wenn eine Anwendung oder Funktion ausfällt, verzögert funktioniert oder einfriert, geht wertvolle Zeit verloren – und es entsteht eine potenzielle Reibungsquelle, die einen Kunden zur Konkurrenz abtreiben könnte.
  • Skalierbarkeit der Anwendung: Stellen Sie sich vor, Sie betreiben ein Ticketunternehmen und es wird angekündigt, dass Tickets für eine beliebte Aufführung zu einem bestimmten Datum und Zeitpunkt erhältlich sein werden. Es könnten Tausende oder sogar noch mehr Leute versuchen, auf Ihre Site zuzugreifen, um Tickets zu kaufen. Ohne einen Lastenausgleich wäre Ihre Site auf die Kapazität Ihres einzelnen/ersten Servers beschränkt – was bei einer so großen Nachfrage wahrscheinlich nicht viel sein wird. Stattdessen können Sie diesen großen Verkehrsanstieg einplanen, indem Sie einen Lastenausgleich einsetzen, der Anfragen und Verkehr auf andere verfügbare Rechenflächen umleitet. Und das bedeutet, dass mehr Kunden an die gewünschten Tickets kommen.
  • Anwendungssicherheit: Durch Lastenausgleich können Unternehmen ihre Sicherheitslösungen auch skalieren. Eine der wichtigsten Möglichkeiten besteht darin, den Datenverkehr auf mehrere Backend-Systeme zu verteilen. Dadurch wird die Angriffsfläche minimiert und die Erschöpfung der Ressourcen und die Überlastung der Links erschwert. Lastenausgleichsmodule können den Datenverkehr auch auf andere Systeme umleiten, wenn ein System anfällig oder kompromittiert ist. Darüber hinaus können Load Balancer eine zusätzliche Schutzebene gegen DDoS-Angriffe bieten, indem sie den Datenverkehr zwischen Servern umleiten, wenn ein bestimmter Server anfällig wird.
  • Anwendungsleistung: Durch alle oben genannten Maßnahmen steigert ein Load Balancer die Anwendungsleistung. Indem sie die Sicherheit erhöhen, die Betriebszeit optimieren und Skalierbarkeit bei Bedarfsspitzen ermöglichen, sorgen Load Balancer dafür, dass Ihre Anwendungen wie vorgesehen funktionieren – und so, wie Sie und Ihre Kunden es erwarten.

Lastausgleichsalgorithmen

Hinsichtlich ihrer Funktionsweise gibt es zwei Arten von Lastausgleichsalgorithmen: statische und dynamische. Beim statischen Lastausgleich wird die eingehende Last auf einem Server mithilfe von Algorithmen gemessen, die über Informationen zur Leistungskapazität der vorhandenen Server im verteilten Netzwerk verfügen. Durch dynamisches Lastenausgleich kann dynamisch ermittelt werden, wie viel Last während der Laufzeit abgeworfen werden muss und welches System die Last tragen soll.  Es ist für Systeme mit starken Schwankungen der Eingangslast ausgelegt. 

Im Folgenden sind einige der gängigen Typen von Lastausgleichsalgorithmen aufgeführt.

  • Rundenturnier: Dieser Algorithmus sendet den Datenverkehr unter Verwendung des Domain Name System (DNS) abwechselnd an eine Liste von Servern. (Notiz: DNS-Lastausgleich kann auch eine dynamische Lösung sein.)
  • Schwelle: Dieser Algorithmus verteilt Aufgaben basierend auf einem vom Administrator festgelegten Schwellenwert.
  • Zufällig mit zwei Auswahlmöglichkeiten: Der „Power of Two“ -Algorithmus wählt zwei Server nach dem Zufallsprinzip aus und sendet die Anforderung an den ausgewählten Server, indem er dann den Least Connections-Algorithmus oder den Least Time-Algorithmus anwendet, sofern dieser so konfiguriert ist.
  • Mindestanzahl an Verbindungen: Eine neue Anfrage wird an den Server mit den wenigsten aktuellen Client-Verbindungen gesendet. Die relative Rechenkapazität jedes Servers wird berücksichtigt, um zu bestimmen, welcher Server über die wenigsten Verbindungen verfügt oder welcher die geringste Bandbreite oder Ressourcen nutzt.
  • Mindestzeit: Bei diesem Algorithmus wird eine Anfrage 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 basierend auf der in den Clientanforderungen vorhandenen URL. Auf Basis des Hashwertes werden die Anfragen an die Server weitergeleitet. Der Load Balancer speichert den Hashwert der URL im Cache, sodass nachfolgende Anfragen, 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 bei einer Trennung der Sitzung neu generiert werden kann, können Wiederverbindungsanforderungen an den gleichen Server umgeleitet werden, der zuvor verwendet wurde.
  • Konsistentes Hashing: Dieser Algorithmus bildet sowohl Clients als auch Server auf einer Ringstruktur ab, wobei jedem Server je nach Kapazität mehrere Punkte auf dem Ring zugewiesen werden. Wenn eine Client-Anforderung eingeht, wird sie zu einem Punkt im Ring gehasht und dann dynamisch im Uhrzeigersinn an den nächsten verfügbaren Server weitergeleitet.

Wie funktioniert Lastenausgleich?

Der Lastenausgleich funktioniert, indem auf eine Benutzeranforderung entweder statisch oder dynamisch geantwortet wird und diese Anforderung an einen der Backend-Server verteilt wird, der die Anforderung erfüllen kann. Wenn einer der Server ausfällt, leitet der Load Balancer den Datenverkehr auf die verbleibenden Online-Server um.

Beispiele für Lastausgleich

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

Ein Beispiel für dynamischen Lastausgleich: In einem Unternehmen kommt es zu plötzlichen Anstiegen und Einbrüchen beim Datenverkehr. Einige sind vorhersehbar und andere nicht. Diese Organisationen würden von einem dynamischen Lastausgleich profitieren. Zu solchen Unternehmen könnte es sich etwa um einen E-Commerce-Händler handeln, der die Öffnungszeiten und Daten des Black Friday bekannt gibt; ein Gesundheitsunternehmen, das gerade angekündigt hat, dass man online Termine für eine saisonale Impfung vereinbaren kann; eine staatliche Arbeitslosenagentur, die von Empfängern von Arbeitslosenunterstützung verlangt, wöchentlich an einem bestimmten Wochentag einen Antrag zu stellen; eine Hilfsorganisation, die möglicherweise schnell online auf eine Naturkatastrophe reagieren muss. Einige dieser Anstiege und Spitzen im Verkehr und der Nachfrage lassen sich planen, andere wiederum nicht. In diesen Szenarien trägt ein dynamischer Lastausgleichsalgorithmus dazu bei, den Zugriff auf Apps und Ressourcen dann sicherzustellen, wenn Kunden und Benutzer sie am dringendsten benötigen.

Verschiedene Arten von Load Balancern

In der als Open System Interconnection (OSI-Modell) bezeichneten Architektur sind unterschiedliche Typen von Lastenausgleichsmodulen mit unterschiedlichen Funktionen enthalten. In diesem Modell gibt es sieben Schichten. Netzwerk-Firewalls gibt es auf den Ebenen eins bis drei (L1-physische Verkabelung, L2-Datenverbindung und L3-Netzwerk). Der Lastausgleich erfolgt inzwischen auf den Ebenen vier bis sieben (L4-Transport, L5-Sitzung, L6-Präsentation und L7-Anwendung). Load Balancer werden im Allgemeinen auf Ebene 4 und Ebene 7 verwendet

  • Layer-4-Load-Balancer leiten den Datenverkehr basierend auf Daten aus Netzwerk- und Transportschichtprotokollen (IP, TCP, FTP, UDP). Unter Lastenausgleich auf der IP-Ebene versteht man eine Bereitstellung, bei der die IP-Adresse des Lastenausgleichs diejenige ist, die den Clients für eine Website mitgeteilt und daher als Zieladresse aufgezeichnet wird. Wenn der Load Balancer die Anforderung erhält, ändert er die aufgezeichnete Ziel-IP-Adresse in die des ausgewählten Inhaltsservers.
  • Layer-7-Load Balancer verteilen Anfragen auf der Grundlage von Daten aus Anwendungsschichtprotokollen, wie etwa HTTP-Headern, Cookies, Uniform Resource Identifier, SSL-Sitzungs-ID und HTML-Formulardaten. Sie ermöglichen außerdem Routing-Entscheidungen auf Grundlage von Daten innerhalb der Anwendungsnachricht selbst, beispielsweise dem Wert eines bestimmten Parameters. Schicht 7 ergänzt das Lastenausgleichsmodul um Content Switching.

Cloudbasierte Lastverteiler

Cloudbasierte Load Balancer sind nicht nur Verkehrsregler für Verkehrsspitzen und zur Optimierung der Servernutzung. Cloudnative Load Balancer können außerdem prädiktive Analysen bereitstellen, mit denen Sie Verkehrsengpässe visualisieren können, bevor sie auftreten. Dies wiederum liefert umsetzbare Erkenntnisse, die jedem Unternehmen bei der Optimierung seiner IT-Lösungen helfen.

Anwendungslastausgleich: Da Unternehmen immer stärker auf die Leistung und Verfügbarkeit ihrer Anwendungen angewiesen sind, kann ihnen der Anwendungslastausgleich dabei helfen, zu skalieren, Abläufe zu optimieren und Geld zu sparen.

Globaler Server-Lastausgleich: Da Unternehmen über Benutzer und Kunden auf der ganzen Welt verfügen, können sie ihre Lastverfügbarkeit durch einen globalen Server-Lastausgleich verbessern, der Benutzer an den für sie nächstgelegenen Endpunkt sendet. 

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

Netzwerklastenausgleich: Application Delivery Controller (ADCs) sind physische oder virtuelle Appliances, die als Proxys für physische Server fungieren, Anwendungs- oder Netzwerkfunktionen verwalten und dabei auf eine Lösung zum Netzwerklastenausgleich angewiesen sind, um sie zu unterstützen. ADCs nutzen auch andere Techniken, darunter Caching, Komprimierung und Auslagern der SSL-Verarbeitung, um die Leistung von Webanwendungen zu verbessern. In der üblichen Konfiguration sitzt der ADC vor einer Gruppe von Web- und Anwendungsservern und vermittelt Anfragen und Antworten zwischen diesen und ihren Clients, wodurch die Gruppe für den Endbenutzer effektiv wie ein einzelner virtueller Server aussieht.

HTTP(S)-Lastenausgleich: Die Technik zum Verteilen des Datenverkehrs auf mehrere Web- oder Anwendungsservergruppen zur Optimierung der Ressourcennutzung wird als HTTP(S)-Lastausgleich bezeichnet. 

Interner Lastausgleich: Ein interner Load Balancer ist einem privaten Subnetz zugewiesen und verfügt nicht über eine öffentliche IP. Es funktioniert normalerweise innerhalb einer Serverfarm.

Durchmesser: Ein Diameter-Load Balancer verteilt den Signalverkehr auf mehrere Server in einem Netzwerk. Eine der kostengünstigsten Möglichkeiten hierzu besteht darin, die Durchmesser-Steuerebene anstelle der Datentransportschicht zu skalieren. (Der Durchmesser-Lastausgleich kann auch statisch oder dynamisch erfolgen.)

Load Balancer-Technologie

Es gibt 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 Typen.

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

Software Load Balancer: Ein Software-Load Balancer funktioniert wie ein physischer Load Balancer, läuft aber auf Softwareprogrammen . Die Software sorgt dafür, dass Apps trotz aller Verkehrsanforderungen verfügbar bleiben, und nutzt sowohl statisches als auch dynamisches Lastenausgleich, um einzelne Ausfallpunkte zu vermeiden.

Virtueller Load Balancer: Ein Lastenausgleichstyp, der Hardware- und Software-Lastenausgleichsmodule kombiniert, ist ein virtueller Lastenausgleich. Es verwendet eine Application Delivery Controller-Software, die dabei hilft, die Netzwerkverkehrslast auf die Hardware-Backend-Server zu verteilen.

Wie F5 helfen kann

  • Damit Ihre Systeme verfügbar und optimiert bleiben, Ihre Daten zugänglich bleiben und Ihre Benutzer und Kunden zufrieden sind, ist es entscheidend, den richtigen Load Balancer für die Bedürfnisse Ihres Unternehmens zu finden.
  • F5 kann auf die spezifischen Lastenausgleichsanforderungen Ihres Unternehmens eingehen, von einer statischen Lösung bis hin zu einer integrierten, globalen Lösung , die die Stärken von Hardware-, Software- und Cloud-basierten Lastenausgleichsmodulen kombiniert. F5 verfügt über einen Lastausgleichsalgorithmus oder eine Lösung für Ihre individuellen Geschäftsanforderungen.
  • F5 NGINX Plus und NGINX sind die besten Lastausgleichslösungen ihrer Klasse, die von Websites mit hohem Datenverkehr wie Dropbox, Netflix und Zynga verwendet werden. Mehr als 350 Millionen Websites weltweit verlassen sich auf NGINX Plus und NGINX Open Source, um ihre Inhalte schnell, zuverlässig und sicher bereitzustellen. Als softwarebasierter Anwendungsbereitstellungscontroller und Lastenausgleich ist NGINX Plus erheblich günstiger als Hardwarelösungen mit ähnlichen Funktionen. Es kombiniert Web-Serving, Lastausgleich, Caching, Medienbereitstellung und mehr und ist damit die ideale Wahl für die Steuerung der Bereitstellung Ihrer Anwendungen.
  • BIG-IP-Anwendungsdienste bieten eine integrierte Lösung zum Verwalten, Skalieren und Optimieren Ihrer digitalen Anwendungsdienste. Und BIG-IP Local Traffic Manager (LTM) umfasst statisches und dynamisches Lastenausgleich, um einzelne Ausfallpunkte zu eliminieren. F5 BIG-IP DNS übernimmt den Lastenausgleich zwischen Anwendungen und wendet ihn global an. Dadurch wird sichergestellt, dass Ihre Anwendungen eingeschaltet sind und den Anforderungen Ihrer Kunden entsprechen. 
  • F5 Distributed Cloud DNS Load Balancer bietet eine einfache Lastausgleichslösung mit zuverlässiger Notfallwiederherstellung, sodass sich Ihre Entwicklungsteams auf die Innovationsförderung Ihres Unternehmens konzentrieren können.
  • F5 Distributed Cloud App Connect unterstützt den Lastenausgleich durch die sichere Verbindung Ihrer Apps und Dienste in jeder Art von Umgebung, einschließlich der Edge.
  • F5 bietet eine umfassende Suite an Lastausgleichslösungen, um Ihre Apps, Ihren Datenverkehr, Ihre Daten und Ihre Rechenfläche zu optimieren.