Load-Balancing: Lastverteilung auf mehrere Server

Ladebalken auf Laptop

Für das Betreiben eines Webservers zählen aus technischer Sicht vor allem drei Punkte. In den ersten beiden Fällen geht es ausschließlich um die Performance. Neben einer guten und schnellen Erreichbarkeit der Seiten müssen diese auch in möglichst kurzer Zeit geöffnet werden können. Der dritte Faktor ist für die Kunden und Besucher transparent. Bei der Ausfallsicherheit kommen Mechanismen zum Tragen, die sich im Hintergrund abspielen. Ein gutes Webhosting zeichnet sich durch eine möglichst maximale Verfügbarkeit der Server aus. Eine 100%-ige Lösung gibt es in der IT nicht, aber jeder Webseitenbetreiber sollte anstreben, mindestens 99,9 % zu erreichen. Dies kann nur gelingen, wenn zwei Faktoren implementiert werden. Zum einen sollten die Server über mehrere Wege (bzw. mehrere Netzwerkkarten) ans Netz gebracht werden, um den Ausfall einer Netzwerkkomponente kompensieren zu können. Zum anderen kann die Verfügbarkeit der Dienstleistung durch sogenanntes Load Balancing bis ans Optimum herangeführt werden.

Was ist Load-Balancing?

Load-Balancing (zu Deutsch: Lastverteilung) ist ein technisches Verfahren, mit dem eine große Menge an Anfragen bzw. umfangreiche Rechenaufwendungen auf mehrere Systeme verteilt werden, die parallel im Netz angeschlossen sind. Jeder Heimanwender kennt diesen Mechanismus von seinem Notebook, insofern dieses einen Mehrprozessorkern hat. Windows, Linux etc. nutzen dabei die einfachste Form der Lastverteilung und weisen den einzelnen CPUs je nach Bedarf die jeweiligen Prozesse zu. Das ermöglicht die gleichzeitige Verarbeitung mehrerer Vorgänge und eine entsprechend höhere Leistungsfähigkeit. Beim Webhosting kommt eine deutlich weitreichendere Lösung zum Einsatz, bei dem mehrere Systeme die gleichen Aufgaben übernehmen. Die einzelnen Webserver selbst arbeiten die ihnen zugewiesenen Prozesse ab, ohne von der Lastverteilung zu wissen. Das Load-Balancing wird von einem vorgeschalteten Rechner vorgenommen, der für alle Webserver eine virtuelle IP-Adresse generiert. Das ist notwendig, damit die Clients ​aus dem Internet den über DNS aufgelösten Servernamen eindeutig erreichen können. Häufig ist es eine Netzwerkkomponente, die ein entsprechendes Load-Balancing-Modul beinhaltet. Administratoren können in diesem die einzelnen Server-Paare oder -Cluster definieren, die von einer Lastverteilung profitieren sollen. Wahlweise kann ein Proxy-Server die Aufgabe übernehmen oder mittels besonderer Verfahren (via DNS, Round-Robin) gearbeitet werden. Aus der Sicht der Webserver und der Anwender ist beides transparent.

Die wesentlichen Vorteile von Load-Balancing

Der hauptsächliche Grund für den Einsatz eines Load-Balancers bzw. eines entsprechenden Verfahrens ist die Verteilung der Last auf mehrere Systeme. Dadurch können die einzelnen Rechenvorgänge und Anfragen schneller bearbeitet sowie die Performance bzgl. Seitenzugriff und Öffnung der Inhalte deutlich erhöht werden. Ein weiterer Pluspunkt kommt dem Administrationsteam zugute. Es muss nicht auf Wartungszeiten mitten in der Nacht ausweichen, weil die einzelnen Systeme im laufenden Betrieb aus dem Netz genommen und konfiguriert werden können. Der Load-Balancer bekommt dies mit und schickt alle Anfragen an die anderen Systeme. Sobald der gewartete Rechner wieder online ist, wird er dank permanenter Keep-Alive-Checks wieder eingebunden.

Dies zeigt bereits den dritten wesentlichen Vorteil einer Lastverteilung auf. Etwaige Systemausfälle, die durch Plattenabstürze oder sonstige Hardware-Probleme bzw. durch Viren oder Hackerangriffe verursacht werden, bedeuten für den Betrieb der Webseite keine Ausfallzeit, weil die anderen Serversysteme im Webhosting-Verbund die Anfragen abarbeiten. Die Anwender (Kunden und Besucher) werden einzig Performance-Einbußen bemerken, da ein System weniger zur Verfügung steht. Im Vergleich mit einem Totalausfall ist dies hinnehmbar. Durch eine intelligente Konfiguration können Geschwindigkeitseinbußen beim Ausfall eines Verbundservers auf ein minimales Maß reduziert werden.

Ein vierter Grund, der für die Lastverteilung spricht, ist die hohe Zuverlässigkeit im Vergleich mit teuren Hochleistungssystemen. Mehrere kleinere Server sind dank Load-Balancing effektiver als ein großer Zentralrechner, dessen Systemausfall ein Worst-Case-Szenario darstellen würde.

Die Vorteile im Überblick

  1. schnellere Bearbeitungszeiten
  2. flexible Wartungsmöglichkeiten durch die Administratoren
  3. Kompensierung von Ausfällen einzelner Server
  4. hohe Zuverlässigkeit des Lad-Balancing-Verbundes