Ein Load Balancer verteilt mithilfe von sogenannten Load Balancing „Algorithmen“ bzw. „Typen“ eingehende Clientanfragen auf eine Serverfarm. Der Kemp LoadMaster unterstützt eine Vielzahl von Techniken.
Sie reichen vom einfachen Rundlaufverfahren (Round Robin) bis hin zum Adaptive
Load Balancing, das auf die von der Serverfarm abgerufenen Statusinformationen reagiert.
Welchen Algorithmus der LoadMaster verwendet, entscheidet zum einen die Art des gehosteten Dienstes oder der Anwendung. Zum anderen das Leistungs-
und Kapazitätsprofil der Server, die diese Anwendung oder diesen Dienst hosten.
Lernen Sie die Load Balancing Methoden kennen. Der Beschreibung haben wir Hinweise zu geeigneten Anwendungsszenarien hinzugefügt.
Der einfachste und am häufigsten verwendete Algorithmus für das Load Balancing heißt Round Robin. Hierbei werden die Clientanfragen in einem einfachen Rundlauf auf die Anwendungsserver verteilt. Haben Sie beispielsweise drei Anwendungsserver, funktioniert es wie folgt: Die erste Clientanfrage wird an den ersten Anwendungsserver in der Liste gesendet. Die zweite an den zweiten Server. Die dritte an den dritten. Die vierte Clientanfrage geht wieder an den ersten Anwendungsserver und so weiter.
Der gewichtete Round Robin Algorithmus unterscheidet sich vom einfachen Round Robin darin, dass er die eingehenden Clientanfragen entsprechend der relativen Kapazität der einzelnen Server auf die Serverfarm verteilt. Er eignet sich am besten für die Verteilung eingehender Clientanfragen auf eine Reihe von Servern mit unterschiedlichen Kapazitäten oder verfügbaren Ressourcen. Der Administrator weist jedem Anwendungsserver anhand eigens gewählter Kriterien eine Gewichtung zu. Diese gibt die Leistungsfähigkeit der Server an.
Wenn beispielsweise Anwendungsserver Nr. 1 doppelt so leistungsfähig ist wie Anwendungsserver Nr. 2 (und Anwendungsserver Nr. 3), erhält Anwendungsserver Nr. 1 eine höhere Gewichtung. Anwendungsserver Nr. 2 und Nr. 3 erhalten hingegen die gleiche, niedrigere Gewichtung. Bei fünf aufeinander folgenden Clientanfragen gehen die ersten beiden an Anwendungsserver Nr. 1, die dritte an Anwendungsserver Nr. 2 und die vierte an Anwendungsserver Nr. 3. Die fünfte Anfrage würde dann an den Anwendungsserver Nr. 1 gehen und so weiter.
Least Connection ist ein dynamischer Load Balancing Algorithmus, bei dem Clientanfragen an den Anwendungsserver verteilt werden, der zum Zeitpunkt der Anfrage die wenigsten aktiven Verbindungen hat. Verfügen die Anwendungsserver über ähnliche Spezifikationen, kann ein Server aufgrund länger bestehender Verbindungen überlastet sein. Der Algorithmus berücksichtigt die aktive Verbindungslast. Diese Technik eignet sich am besten für eingehende Anfragen, die gekennzeichnet sind durch: unterschiedliche Verbindungszeiten sowie eine Reihe von Servern, die sich in Bezug auf die Verarbeitungsleistung und die verfügbaren Ressourcen ähneln.
Der gewichtete Least Connection Algorithmus berücksichtigt, anders als Least Connection, die unterschiedlichen Eigenschaften der Anwendungsserver. Der Administrator weist jedem Anwendungsserver eine Gewichtung zu. Die Grundlage bilden die relative Verarbeitungsleistung und die verfügbaren Ressourcen der einzelnen Server in der Farm. Der LoadMaster entscheidet anhand von aktiven Verbindungen und der zugewiesenen Servergewichtung. Gibt es zum Beispiel zwei wenig ausgelastete Server mit derselben Anzahl an Verbindungen, wird der Server mit der höchsten Gewichtung gewählt.
Beim Adaptive Load Balancing Ansatz richtet sich der LoadMaster nach den Statusindikatoren, die er von den Backend-Servern abruft. Der Statusindikator wiederum wird von einem benutzerdefinierten Programm (einem „Agenten“) bestimmt, das auf jedem Server läuft. LoadMaster fragt regelmäßig diese Statusinformationen von jedem Server ab und definiert die dynamische Gewichtung entsprechend. Im Wesentlichen führt die Load Balancing Methode auf diese Weise einen ausführlichen „Gesundheitscheck“ des realen Servers durch. Sie eignet sich für alle Situationen, in denen detaillierte Informationen über den Zustand der einzelnen Server bei einer Entscheidung im Load Balancing Prozess erforderlich sind: beispielsweise für jede Anwendung, bei der die Arbeitslast variiert und der Check solche detaillierten Informationen über die Leistung und den Status der Anwendung erfordert. Adaptive Load Balancing kann auch verwendet werden, um über die Load Balancing Methode eine anwendungsspezifische Zustandsprüfung für Layer-4-Dienste (User Datagram Protocol, UDP) durchzuführen.
SDN (Software Defined Networking) Adaptive Load Balancing kombiniert Informationen aus den Layern 2, 3, 4 und 7 sowie den Input von einem SDN-Controller. So fließen Informationen über den Status der Server, den Status der darauf ausgeführten Anwendungen, den Zustand der Netzwerkinfrastruktur und den Grad der Überlastung des Netzwerks in die Entscheidungsfindung für das Load Balancing ein. Diese Methode eignet sich für Bereitstellungen, deren Bestandteil ein SDN-Controller ist.
Feste Gewichtung bedeutet, dass der Administrator jedem Anwendungsserver auf der Grundlage von Kriterien seiner Wahl eine Gewichtung zuweist. Dieser Vorgang bildet die Kapazität der einzelnen Server in der Serverfarm ab. Der gesamte Datenverkehr wird dem Anwendungsserver mit der höchsten Gewichtung zugeteilt. Fällt dieser Server aus, geht der Datenverkehr an den nächsten Anwendungsserver in der Reihe. Diese Methode eignet sich für Arbeitslasten, bei denen ein einzelner Server in der Lage ist, alle erwarteten eingehenden Anfragen zu bearbeiten. Mehrere „Hot Spare“-Server stehen zur Verfügung, falls ein aktiver Server ausfällt.
Dieser Load Balancing Algorithmus verwendet zur Berechnung einer Servergewichtung die Antwortzeit des Anwendungsservers. Der Server, der am schnellsten antwortet, erhält die nächste Anfrage. Die Methode eignet sich für Szenarien, bei denen die Antwortzeit der Anwendung im Vordergrund steht.
Source IP Hash erzeugt aus den Quell- und Ziel-IP-Adressen der Clientanfrage einen eindeutigen Hash-Schlüssel. Mit diesem wird der Client einem bestimmten Server zugewiesen. Bei einer Unterbrechung der Sitzung geht die erneute Anfrage an denselben Server. Dieser Algorithmus ist am besten für Fälle geeignet, in denen es wichtig ist, dass ein Client bei jeder weiteren Verbindung immer zum selben Server zurückkehrt.
Verwenden Sie den Algorithmus, der die gewünschte Anwendungserfahrung mit den geringsten Betriebskosten verknüpft. Wenn Sie die Datenverkehrsmuster und die Belastung der Infrastruktur gut kennen, reicht die Verwendung einfacher Algorithmen mit einem richtig dimensionierten Pool von Anwendungsservern aus. Lässt sich die Auslastung nicht vorhersehen oder erfordert die verfügbare Infrastruktur einen Server-Pool mit unterschiedlichen Ressourcen, eignen sich die dynamischeren Algorithmen, die den Zustand der Server und des Netzwerks berücksichtigen, besser. Sie bieten die beste Anwendungserfahrung.
Berücksichtigen Sie ebenfalls, dass der Load Balancer Funktionen wie Proxy-Dienste, TLS/SSL-Verschlüsselungs-Offloading oder Global Server Load Balancing (GSLB) bereitstellen kann. Die Ressourcen, die dem Load Balancer zur Verfügung stehen, sollten in der Lage sein, die wichtigsten Load Balancing Algorithmen sowie alle anderen Dienste, die auf dieser Instanz laufen, zu unterstützen.
Sie brauchen bei der Auswahl der richtigen Lösung Unterstützung? Kontaktieren Sie unser Team - wir helfen Ihnen, den besten Load Balancer und den passenden Algorithmus auszusuchen.
Sie wollen wissen, wie die Web-Benutzeroberfläche (WUI) aussieht, mit deren Hilfe Sie den Kemp Load Balancer einrichten und konfigurieren können? Schauen Sie sich unser Video an.
Es empfiehlt sich, den Algorithmus zu wählen, der eine optimale Anwendungserfahrung bei minimalen Betriebskosten gewährleistet.
Falls Sie Unterstützung bei der Auswahl der richtigen Lösung benötigen, zögern Sie nicht, unser Team zu kontaktieren.