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.
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:
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.
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.
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.
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 .
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.)
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.
WEISSES PAPIER
Lastausgleich 101: Schrauben und Muttern ›
Anwendungsbeispiele
Lastenausgleich für Ihre Anwendungen ›
WEISSES PAPIER
Lastenausgleich auf AWS: Kennen Sie Ihre Optionen ›
WEISSES PAPIER
Lastausgleich 101: Die Entwicklung zu ADCs ›