Diplomarbeit Skalierbare Hochverfügbarkeitslösungen mit Lastverteilung für E-Commerce Sites Mai 2000
3.3.3 Funktionsweise
Ein Layer4-Switch muß die Server kontrollieren, um einen Ausfall zu erkennen und die Daten umzuleiten. Zu diesem Zweck wird die Verbindung mit dem Server überwacht, um eine Leitungsunterbrechung zu erkennen. Außerdem sendet der Switch bestimmte Testpakete an die verschiedenen Anwendungen auf den Servern aus. Solange diese antworten, kann der Switch von der Funktionsfähigkeit des Servers ausgehen. Der Switch könnte auch einfach PING-Pakete an den Server senden. Allerdings werden PING-Anragen von ICMP auf der Schicht 3 beantwortet, d.h. falls eine der Anwendungen, die ja auf Schicht 7 angesiedelt sind, nicht mehr reagiert, kann der Server immer noch auf PINGs antworten. In diesem Fall würde der Switch von der Funktionsfähigkeit des Servers ausgehen, die Anfragen an die inaktive Anwendung würden also nicht bearbeitet werden.
Um Datenlast auf mehrere Server mit gleichem Inhalt zu verteilen, kann man im allgemeinen drei verschiedene Load Balancing Optionen einsetzen:
- Round Robin : Beim Round Robin Verfahren werden Verbindungen (Sessions) der Reihe nach auf die Server verteilt. In Abb 3.12 z.B. geht die erste Session zu Server 1, die zweite zu Server 2, die dritte zu Server 3 und dann geht es mit Server 1 wieder von vorne los. Auf diese Weise wird die Last gleichmäßig auf alle Server verteilt.
- Least Connections : Bei diesem Verfahren wird berücksichtigt, dass Server zur Bearbeitung ihrer Aufgaben unterschiedlich lange benötigen. Während der eine Server mit der Bearbeitung einer rechen- und zeitaufwendigen Session immer noch beschäftigt ist, hat der andere gleichzeitig mehrere Sessions abgearbeitet und ist nicht optimal ausgelastet. Um diese ungleichmäßige Auslastung zu vermeiden, beachtet der Layer4-Switch, wieviele Sessions von einem Server gerade bearbeitet werden. Eine neue Session wird dem Server mit der geringsten Anzahl offener Sessions zugewiesen, in der Annahme, dass er noch über Leistungsreserven verfügt. Dieses Verfahren ist vor allem dann sinnvoll, wenn alle Server über die gleiche Leistungsfähigkeit verfügen.
- Weighted Percentage : Da eine Serverfarm sukzessive mit neuen Servern ausgestattet wird und Server mit verschiedenen Betriebssystemen ausgestattet sein können, ist die Leistungsfähigkeit der verschiedenen Geräte meist sehr unterschiedlich. Dies wir vom Least Connections-Verfahren nicht berücksichtigt. Deswegen wird bei der Lastverteilung anhand der Weighted Percentage jedem Server ein prozentualer Performance-Wert zugewiesen. Dadurch wird berücksichtigt, dass ein schneller Server mehr Sessions bearbeiten kann als ein langsamer Server.128
Abbildung 3.12 : Load Balancing Optionen
128vgl. <50>