Loadbalancing & Application Delivery

Jederzeit erreichbar

Durch die ständig steigenden Anforderungen an Inhalte und Services internet-basierender Applikationen vergrößern und erweitern Unternehmen ihre Netzwerke. Damit steigt auch das Risiko ungeplanter Netzwerkausfälle, die heute für Unternehmen nicht mehr tragbar sind. Der beste Weg ist der Schutz gegen äußere Attacken und der Aufbau einer starken und zuverlässigen Infrastruktur. Viele Unternehmen setzen zum Schutz Ihres Netzwerks eine oder mehrere Firewalls ein. Auch wenn dies die Sicherheit und Stabilität des Netzwerkes erhöht, kann es nach wie vor zu Ausfällen kommen, die Umsatz- und Vertrauensverlust beim Kunden bedeuten.

Mit Lastverteilung (Load Balancing, auch Lastverbund) werden Verfahren beschrieben, um bei der Speicherung, dem Transport und der Verarbeitung von Objekten vorgegebene Kapazitätsgrenzen einzuhalten.

In der Computertechnik werden umfangreiche Berechnungen oder große Mengen von Anfragen mittels Lastverteilung auf mehrere parallel arbeitende Systeme verteilt. Dies kann sehr unterschiedliche Ausprägungen haben. Eine einfache Lastverteilung findet zum Beispiel auf Rechnern mit mehreren Prozessoren statt. Jeder Prozess kann auf einem eigenen Prozessor ausgeführt werden. Die Art der Verteilung der Prozesse auf Prozessoren kann dabei einen großen Einfluss auf die Gesamtperformance des Systems haben, da z.B. der Cache-Inhalt lokal für jeden Prozessor ist.

Ein anderes Verfahren findet man in Computerclustern. Hierbei bilden mehrere Rechner einen Verbund, der sich nach außen meistens wie ein einzelnes System verhält. Dies wird mit Server Load Balancing-Verfahren realisiert. Einige mögliche Verfahren sind das Vorschalten eines Computers, der die Anfragen aufteilt oder die Verwendung von DNS mit dem Round-Robin-Verfahren.

Load Balancing (Lastverteilung) wird ebenfalls bei Daten- / Sprachleitungen verwendet um den Verkehrsfluss auf parallel geführte Leitungen zu verteilen. In der Praxis treten jedoch häufig Probleme dabei auf, den Daten- / Sprachverkehr gleichmäßig auf beide Leitungen zu verteilen. Es wird daher meist die Lösung implementiert, dass eine Leitung als Hin- und die zweite Leitung als Rückkanal Verwendung findet.

Lastverteilung findet auch bei großen Server-Farmen statt, die z.B. der Beantwortung von HTTP-Anfragen dienen. Dort sind Systeme vorgeschaltet (Frontend Server), die nach festgelegten Kriterien die einzelnen Anfragen auf die Backend Server verteilen. Dabei können zusätzliche Informationen aus dem HTTP-Request verwendet werden, um alle zu einer Session mit einem Benutzer gehörenden Pakete an den gleichen Server zu schicken. Dies ist auch bei der Nutzung von SSL zur Verschlüsselung der Kommunikation wichtig, damit nicht für jede Anfrage ein neuer SSL-Handshake durchgeführt werden muss.

Eine gute Umsetzung einer Lastverteilung erfordert immer Informationen darüber, wie die Auslastung der Zielsysteme aussieht.

Unter dem Begriff load balancing wird im weitesten Sinne auch ein Mechanismus zur Ausfallsicherheit verstanden: durch den Aufbau eines Clusters (siehe: Computercluster) und der Verteilung der Anfragen auf einzelne Systeme, erreicht man eine Erhöhung der Ausfallsicherheit, sofern der Ausfall eines Systems erkannt und die Anfragen automatisch an ein anderes System abgegeben werden.