FAQ

Lassen Sie uns technisch werden

Glossar und FAQ zur Terminologie des Lastausgleichs

Die Load-Balancing-Technologie hat sich in den letzten Jahren erheblich weiterentwickelt, so dass die Terminologie im Zusammenhang mit Application Delivery inzwischen recht verwirrend geworden ist. Angesichts der vielen Akronyme und des Fachjargons fühlt man sich leicht überfordert, wenn man sich mit Lastverteilungslösungen beschäftigt.

Ein Load Balancer ist eine Netzwerk-Appliance, die für die effektive Verteilung des eingehenden Netzwerkverkehrs auf mehrere Backend-Server verantwortlich ist, um stets verfügbare Anwendungsdienste zu gewährleisten. Load Balancer können als Software-Appliances, Hardware-Appliances oder sogar als Service eingesetzt werden. Mit einem Load Balancer können Sie die Serverauslastung optimieren und Single Points of Failure bei der Anwendungsbereitstellung beseitigen, um Folgendes zu gewährleisten:

Ausfallsicherheit – Ein Load Balancer ermöglicht es Ihnen, mehrere Anwendungsserver zu betreiben, die dieselbe Aufgabe erfüllen. Im Falle eines Serverausfalls erkennt der Load Balancer dies und leitet den Datenverkehr auf die verbleibenden, gesunden Online-Server um. Dies gewährleistet eine hohe Verfügbarkeit und Zuverlässigkeit der Anwendungen.

Skalierbarkeit – Load Balancer ermöglichen die nahtlose Skalierung von Diensten ohne Beeinträchtigung der Leistung. Indem Sie einfach mehr Server hinter dem Load Balancer zur Verteilung hinzufügen, führen Sie die Fähigkeit ein, sich an einen Anstieg der Last anzupassen.

Kapazität – Um die Kapazität zu erhöhen, fügen Sie einfach weitere Server hinter dem Load Balancer hinzu. (Ok, so einfach ist es normalerweise nicht, da Sie wahrscheinlich Datenbanken und andere App-Server berücksichtigen müssen, aber Sie verstehen die Idee)

Load Balancer verteilen den Anwendungsverkehr basierend auf vielen verschiedenen Lastverteilungsstrategien oder Lastverteilungsrichtlinien, wie sie manchmal genannt werden. Um zu verstehen, ob ein Backend-Server online und gesund ist, verwendet ein Load Balancer die Backend-Server-Überwachung und die Server-Zustandsprüfung. Die Prinzipien des Lastausgleichs gibt es schon seit vielen Jahren, aber diese Geräte haben sich erheblich weiterentwickelt, vom einfachen Layer4-Gerät bis hin zu den viel anspruchsvolleren Layer7 Application Delivery Controllern, oder ADCs, wie Gartner sie nennt. ADCs bieten viele zusätzliche wichtige Funktionen wie Sicherheit und Verkehrsmanagement.

Eine Lastausgleichsstrategie oder -richtlinie weist den Load Balancer an, wohin er die nächste eingehende Anfrage senden soll. Es gibt viele Strategien für den Lastausgleich, die von der jeweiligen Lösung abhängen, aber ein paar gängige sind im Folgenden aufgeführt:

Round Robin: Die einfachste Methode der Lastverteilung, bei der jeder Server abwechselnd eine Anfrage erhält.

Geringste Anzahl von Verbindungen: Der Load Balancer verfolgt die Anzahl der Verbindungen, die ein Server hat, und sendet die nächste Anfrage an den Server mit den wenigsten Verbindungen. Hinweis: Ältere, reine Layer4-Loadbalancer unterstützen dies in der Regel nicht, da sie typischerweise DSR (Direct Server Return) ausführen und nicht wissen, wie viele Verbindungen gerade auf den Backend-Servern liegen.

Gewichtet: Typischerweise wird den Servern eine prozentuale Fähigkeit zugewiesen, da ein Server doppelt so leistungsfähig sein kann wie ein anderer. Gewichtete Methoden sind sinnvoll, wenn der Load Balancer die reale und tatsächliche Leistung des Servers nicht kennt.

Schnellste Reaktionszeit: Diese Lastausgleichsmethode ist normalerweise nur bei fortschrittlicheren Produkten verfügbar. Die Anfrage wird an den am schnellsten antwortenden Server gesendet.

Load Balancer führen Server Health Checks gegen Webserver durch, um festzustellen, ob diese lebendig und gesund sind und Dienste anbieten. Die Überwachung des Serverzustands ist der Schlüssel zur Bereitstellung robuster Anwendungen, und je nach gewählter Lösung sind einige Load Balancer in der Lage, Layer7 Health Checks zu verwenden, die bei der Erkennung von Problemen eine größere Raffinesse bieten. Im Folgenden finden Sie eine Übersicht über die verschiedenen Methoden der Server-Zustandsprüfung.

Ping: Dies ist die einfachste Methode zur Überprüfung des Serverzustands, allerdings ist sie nicht sehr zuverlässig, da der Load Balancer melden kann, dass der Server in Betrieb ist, während der Webdienst immer noch ausgefallen sein kann.

TCP-Verbindung: Dies ist eine anspruchsvollere Methode der Zustandsprüfung, mit der überprüft werden kann, ob ein Dienst aktiv ist und läuft. Ein Beispiel hierfür sind Dienste auf Port 80 für das Web.

Einfacher HTTP-GET: Bei dieser Methode der Server-Zustandsprüfung wird eine HTTP-GET-Anfrage an den Webserver gestellt und typischerweise auf eine Header-Antwort, wie z. B. ein 200 OK, geprüft.

Vollständiger HTTP-GET: Diese Server-Zustandsprüfung führt einen HTTP-GET aus und prüft den eigentlichen Inhaltskörper auf eine korrekte Antwort. Diese Funktion ist nur bei einigen der fortschrittlicheren Lastausgleichslösungen verfügbar, ist aber für Webanwendungen die überlegene Methode, da sie prüft, ob die tatsächliche Anwendung verfügbar ist.

Anpassbare Server Health Checks: Einige Load-Balancing-Lösungen sind in der Lage, benutzerdefinierte Monitore für TCP / IP-Anwendungen unterzubringen, um eine bessere Kontrolle über ihre spezifischen Anwendungsdienste zu ermöglichen.

Persistenz ist eine Funktion, die von vielen Webanwendungen und Websites benötigt wird. Sobald ein Benutzer mit einem bestimmten Server interagiert hat, werden alle nachfolgenden Anfragen an denselben Server gesendet und bleiben somit auf diesem bestimmten Server “bestehen”. Die Sitzungspersistenz stellt die Kontinuität des Dienstes und eine nahtlose Endbenutzererfahrung sicher und ist oft eine Anforderung von E-Commerce-Anwendungen, deren Sitzungsstatus auf dem lokalen Webserver im Gegensatz zu einer gemeinsamen Datenbank gespeichert wird. Beharrlichkeit kann viele Formen annehmen…

Load Balancer Cookie: Der Load Balancer setzt ein Cookie am Client und identifiziert damit den Backend-Server, der für diesen Benutzer verwendet werden soll.

Anwendungssitzungs-Cookies: Viele Applikationsserver setzen bereits eine eigene Session-ID wie z. B. jsp session cookie oder Asp.net. Sie können den Load Balancer so konfigurieren, dass er diese verwendet.

IP-basiert: Verwendet die Client-IP-Adresse zum Fortbestehen. Diese Methode funktioniert für Schicht4 und Schicht7.

SSL-Sitzung: Verwendet die SSL-Session-ID. Dies ist nicht sehr häufig, da sich die Sitzungs-ID ändern kann und somit die Persistenz verloren geht.

RDP-Sitzungs-Cookie: Wird für RDP-Verbindungen verwendet.

Dies ist ein Begriff, der zur Beschreibung eines fortschrittlichen Load Balancers verwendet wird. Nun sind die meisten Load Balancer Layer7-Appliances, die sich in einer privilegierten Position zwischen der Anwendung und den Clients befinden. Mit der Sichtbarkeit des gesamten Datenverkehrs kann der Load Balancer eine Reihe von Funktionen erfüllen, die über den einfachen Lastausgleich und die Serverredundanz hinausgehen. Der Lastausgleich ist eine von mehreren Funktionen eines ADCs, darunter:

  • Layer7-Verkehrsmanagement
  • Beschleunigung der Anwendung
  • Zwischenspeichern von Inhalten
  • Anwendungs-Firewall
  • Pooling und Begrenzung von Verbindungen
  • Vorauthentifizierung und Single Sign-On
  • Proxying

Die Begriffe Layer4 und Layer7 bezeichnen die Protokollschichten, auf denen ein Load Balancer innerhalb des OSI-Netzwerkmodells arbeitet. Layer4-Load-Balancer arbeiten auf der Transportschicht, während Layer7-Load-Balancer auf der Ebene des Anwendungsprotokolls arbeiten, was ihnen eine bessere Sichtbarkeit und ein besseres Verständnis der Anwendung, die sie selbst verarbeiten, ermöglicht. Dies ermöglicht erweiterte Funktionen und Optimierungsmerkmale wie intelligentes Traffic-Management, Content-Caching, Sicherheit und Komprimierung. Beschleunigungsfunktionen Layer4-Load-Balancer sind nach wie vor verfügbar, obwohl ihr Marktanteil deutlich zurückgegangen ist, da Layer7 Advanced Load Balancer und ADCs leistungsfähiger und kostengünstiger geworden sind.

SSL (Secure Sockets Layer) beschreibt den Prozess der Verschlüsselung der Verbindung, typischerweise unter Verwendung eines privaten Zertifikats. HTTPS ist HTTP, das über eine verschlüsselte SSL-Verbindung läuft. SSL kann ein sehr CPU-intensiver Vorgang sein, der die Geschwindigkeit und Kapazität des Webservers reduziert. Das Auslagern der SSL-Terminierung an einen Load Balancer ermöglicht Ihnen die zentrale Verwaltung Ihrer Zertifikate und gibt Ihren Servern die Möglichkeit, sich auf die Bereitstellung der Anwendung zu konzentrieren, anstatt SSL zu entschlüsseln.

Eine WAF oder Web Application Firewall ist ein Sicherheitsgerät, das speziell dafür entwickelt wurde, Bedrohungen auf der Anwendungsschicht, d.h. Layer7, zu entschärfen. Genauer gesagt, ist eine Web Application Firewall für die Arbeit mit HTTP- und HTTPS-Protokollen ausgelegt. Sie arbeiten in Verbindung mit einer Standard-Netzwerk-Firewall, die normalerweise Ports blockiert. Damit eine Anwendung einen öffentlichen Dienst anbieten kann, müssen bestimmte Ports (z. B. 80 und 443 für eine typische HTTP/HTTPS-Web-App) offen sein. Hacker nutzen diese offenen Ports aus, was die Notwendigkeit einer zusätzlichen, neuen Schutzschicht offenbart. An dieser Stelle kommt eine Application Firewall oder WAF ins Spiel. Eine Web Application Firewall prüft die HTTP-Anfragen und -Antworten, um festzustellen, ob sie gültig sind oder nicht. Einige Anfragen können für eine Site / Seite gültig sein, für eine andere jedoch nicht, so dass in vielen Fällen die Application Firewalls mehr Konfiguration benötigen. PCI DSS verlangt von einer Application Firewall, dass sie einige Standardbedrohungen blockiert, entsprechend den von OWASP veröffentlichten Top-10-Bedrohungen.