Load Balancing

Mithilfe von Load Balancing lassen sich Serverzugriffe durch eine vorgeschaltete technische Instanz, den sogenannten Load Balancer, gleichmäßig auf verschiedene Hardware-Ressourcen verteilt. Auf diese Weise werden stabile Zugriffsgeschwindigkeiten gewährleistet, was entscheidend ist, um Leads und Kundschaft zu generieren.

vServer / VPS
Vollständig virtualisiert mit Root-Zugriff
  • Bis zu 1 Gbit/s Bandbreite & unbegrenzt Traffic
  • Schneller NVMe-SSD-Speicher
  • Kostenlose Plesk Web Host Edition

Was ist Load Balancing?

Load Balancing ist vor allem in der Server-Technik populär und beschreibt ein Verfahren, bei dem Anfragen im Hintergrund – ohne dass Nutzende dies bemerken – auf verschiedene Server verteilt werden. Der dafür eingesetzte Load Balancer lässt als Hardware oder Software umsetzen. Er weist einer Domain mehrere Server zu, ohne dass es zu Adresskonflikten kommt und wird dabei unter der öffentlichen Domain angesprochen.

Hinweis

Normalerweise ist jede Domain nur einem Webserver zugeordnet. Fällt dieser wegen Überlastung aus, erhält der Nutzer bzw. die Nutzerin eine Fehlermeldung in Form eines HTTP-Status-Codes: Die Webseite kann dann nicht angezeigt werden.

Die untergeordneten Webserver werden mit den Domain-Zusätzen www1, www2, www3 usw. benannt. So ermöglicht Lastverteilung, eine Internetseite unter ein und derselben URL verfügbar zu machen, obwohl sich dahinter mehrere Server verbergen. Dies wirkt einer Serverüberlastung entgegen, da Anfragen von außen auf verschiedene physische Rechner innerhalb des Clusters aufgeteilt werden. User bekommen davon in der Regel nichts mit, denn die Verteilung der Anfragen erfolgt auf Grundlage komplexer Algorithmen im Hintergrund.

Load Balancing kann auch abseits von Webservern eine Rolle spielen, z. B. bei Computern, die mit mehreren Prozessoren arbeiten. In einem solchen Fall sorgt der Load Balancer dafür, dass die Anforderungen gleichmäßig auf die verschiedenen Prozessoren verteilt werden, um auf diese Weise mehr Rechenleistung zu generieren. Auch beim Einsatz von Containersoftware wie Kubernetes sind Load Balancer gefragt. Hier sorgen sie dafür, dass die anfallenden Workloads sinnvoll auf verschiedene Pods verteilt werden.

Wie funktioniert Load Balancing?

Anfragen an einen Webserver – zum Beispiel in Form von Seitenaufrufen – laufen zunächst auf dem Load Balancer. Dieser übernimmt dann die Lastverteilung, indem er die Zugriffe auf verschiedene Server leitet. Der Load Balancer selbst kann als Hardware oder als Software realisiert werden – das Prinzip bleibt aber das gleiche: Den Load Balancer erreicht eine Anfrage und abhängig von dem verwendeten Verfahren leitet das Gerät oder die Software die Daten an den passenden Server weiter.

Technische Grundlage ist dabei das DNS-Verfahren: Nutzer und Nutzerinnen rufen eine Website nur über eine URL auf. Diese wird mithilfe des DNS (Domain Name System) in eine IP-Adresse umgewandelt, die wiederum auf den Load Balancer verweist. Im Idealfall bleibt dieser Vorgang von den Usern unbemerkt.

Schaubild zur Funktionsweise von Load Balancing
Schaubild: Ein Load Balancer verteilt die Last der Client-Zugriffe über das Internet bzw. Web auf verschiedene Server.

Welche Vorteile hat ein ausgewogenes Load Balancing?

Die drei wichtigsten Vorteile eines gut eingesetzten Load Balancers sind folgende:

  • Optimierte Zugriffszeiten: Durch die Verteilung des Traffics auf mehrere Server können kürzere Zugriffszeiten realisiert werden – und dies auch bei vielen Anfragen zur gleichen Zeit.
  • Höhere Ausfallsicherheit: Ein Load Balancer sorgt für eine höhere Sicherheit vor Ausfällen, da der Traffic eines zu langsamen Servers automatisch an andere Server im Cluster weitergeleitet wird. Sollte ein Server nicht erreichbar sein, bleibt die gehostete Website dennoch verfügbar.
  • Vereinfachte Systemwartung: Load Balancing ist eine große Stütze bei der Wartung eines Serversystems. Konfigurationen und Updates können im laufenden Betrieb der Server durchgeführt werden, ohne dass es zu einem spürbaren Performance-Verlust kommt. Der Load Balancer erkennt den Wartungszustand und leitet Anfragen entsprechend um.
Webhosting
Top-Hosting für Ihre Website
  • Flexibel: Hosting, das jedem Website-Traffic standhält
  • Verlässlich: Inklusive 24/7-Support und persönlicher Beratung
  • Sicher: Kostenloses SSL-Zertifikat, DDoS-Schutz und Backups

Welche Load-Balancing-Verfahren gibt es?

Wie eingehende Anfragen verteilt werden, ist von der Wahl des Algorithmus abhängig. Beliebte Algorithmen für das Load Balancing sind: Round Robin, Weighted Round Robin, Least Connections und Weighted Least Connections.

Round Robin

Round Robin bezeichnet ein Rundlaufverfahren, bei dem eingehende Serveranfragen vom Load Balancer in einer Warteschlange verwaltet und auf die in Reihe geschalteten Server verteilt werden. Dabei wird jede neue Anfrage dem nächsten Server in der Reihe zugewiesen. So lassen sich Zugriffe gleichmäßig auf das Load Balancing Cluster streuen. Beim Round-Robin-Verfahren werden alle Prozesse gleich behandelt – unabhängig von der Dringlichkeit der Anfrage oder der Serverauslastung, die diese hervorruft. Ein Load Balancer, der nach dem Round-Robin-Prinzip arbeitet, eignet sich daher vor allem für Umgebungen, in denen allen Instanzen in etwa die gleichen Ressourcen zur Verfügung stehen.

Weighted Round Robin

Die Schwächen des klassischen Round-Robin-Algorithmus bei heterogenen Server-Clustern lassen sich durch eine gewichtete Round-Robin-Verteilung ausgleichen. Dabei werden eingehende Anfragen unter Berücksichtigung der statischen Gewichtung der einzelnen Server verteilt. Diese Gewichtung definiert im Vorfeld der Administrator bzw. die Administratorin.

Dem leistungsstärksten Server kann man so beispielsweise den Wert „100“ zuweisen, weniger effizienten Servern hingegen den Wert „50“. In einem solchen Aufbau würde der mit „100“ gewichtete Server vom Load Balancer in einer Runde jeweils zwei Anfragen zugeteilt bekommen, während der mit „50“ gewichtete Server nur eine Anfrage erhält. Weighted Round Robin sollte vornehmlich dann beim Load Balancing eingesetzt werden, wenn den im Cluster verbundenen Servern unterschiedliche Ressourcen zur Verfügung stehen.

Least Connections

Beide Round-Robin-Algorithmen berücksichtigen bei der seriellen Verteilung der Serveranfragen durch den Load Balancer nicht, wie viele Verbindungen die untergeordneten Server über einen bestimmten Zeitraum hinweg aufrechterhalten müssen. So können sich bei einem Server des Clusters mehrere Verbindungen anhäufen. Das führt dazu, dass der Server überlastet wird, selbst wenn dieser weniger Verbindungen unterhält als die anderen. Davor schützt der Least-Connections-Algorithmus. Dieser verteilt Anfragen auf Grundlage der bereits bestehenden Verbindungen des jeweiligen Servers – derjenige mit der geringsten Anzahl an aktiven Verbindungen bekommt vom Load Balancer die nächste Anfrage zugeteilt. Diese Load-Balancing-Methode empfiehlt sich für homogene Server-Cluster, bei denen allen Rechnern vergleichbare Ressourcen zur Verfügung stehen.

Weighted Least Connections

Wenn ein Server-Cluster unterschiedliche Kapazitäten aufweist, sollte statt des Least-Connections-Algorithmus ein Load Balancing zur Anwendung kommen, das auf Grundlage der gewichteten Verteilung nach bestehenden Verbindungen agiert. Dadurch wird sowohl der Anzahl der aktiven Verbindungen eines Servers Rechnung getragen als auch der durch den Administrator definierten Gewichtung. So lässt sich eine ausgewogene Lastenverteilung innerhalb des Server-Clusters sicherstellen. Neue Anfragen werden vom Load Balancer automatisch denjenigen Servern zugewiesen, deren Verhältnis von aktiven Verbindungen zur jeweiligen Servergewichtung die geringste momentane Auslastung vermuten lässt.

Welche Probleme können beim Einsatz von Load Balancing entstehen?

Besonders der Bereich E-Commerce hat beim Load Balancing oft mit Problemen zu kämpfen. Ein Beispiel: Website-Besuchende füllen den Warenkorb mit Artikeln, die sie gerne kaufen möchten. Für die Dauer einer Session bleiben diese Artikel gespeichert, unabhängig davon, welche Seite die Personen innerhalb des Online-Marktplatzes aufrufen. Ein normaler Load Balancer würde die Anfragen aber auf verschiedene Server verteilen. Das hieße: Der Inhalt des Warenkorbs ginge verloren.

Um dieses Problem zu lösen, sind zwei Ansätze denkbar. Zum einen kann der Load Balancer auf die IP-Adresse der User reagieren. Dann schiebt der Verteiler beispielsweise Anfragen der gleichen IP-Adresse immer auch auf denselben Server. Eine andere Methode wäre es, eine Session-ID aus der Anfrage selbst herauszulesen, um so zu bestimmen, an welchen Server die Anfrage geschickt werden muss.

Warum sind Load Balancer so wichtig?

Wenn Sie Ihr Geld über das Internet verdienen, kann sich Ihr Unternehmen keinen Serverausfall leisten. Und wenn Sie nur einen Server verwenden und dieser wegen Überlastung ausfällt, ist Ihre Website für potenzielle Kundschaft nicht mehr erreichbar. Das führt gleich zu mehreren Problemen: Zum einen können Sie während der Überlastung keinen Umsatz generieren. Denn Dienstleistungen können nicht gebucht und Käufe nicht getätigt werden. Zum anderen sinkt auch das Vertrauen der (potenziellen) Kunden und Kundinnen. Doppelt schlimm trifft es User, bei denen eine Serverüberlastung während des Bestellvorgangs auftritt. Oft herrscht dann große Unsicherheit und die Betroffenen wissen nicht, ob die Bestellung tatsächlich im System angekommen und vermerkt ist.

Aber auch, wenn Sie keinen Dienst direkt über das Internet anbieten, sollte Ihre Website jederzeit erreichbar sein. Eine Website ist einer der wichtigsten Hauptkanäle, um an Informationen zu gelangen. Sollten potenzielle Kundinnen und Kunden Details zu Ihrem Unternehmen online suchen und keine Website von Ihnen erreichen können, wird er eher Ihrer Konkurrenz ins Auge fassen. Solche Risiken minimieren Sie mit einem Load Balancer.

So realisieren Sie Load Balancing in Ihrem Unternehmen

Load Balancing lässt sich sowohl über Hardware- als auch über Software-Lösungen auf einem virtuellen Server realisieren. Professionelle Komplettpakete stellen zahlreiche Anbietern entweder als Infrastructure-as-a-Service (IaaS) oder als Netzwerkkomponente für die eigene IT-Infrastruktur zur Verfügung.

Da die Anschaffung proprietärer Load Balancer meist mit hohen Kosten verbunden ist, greifen kleinere Unternehmen oft auf Open-Source-Lösungen wie NGINX zurück. Dieser bietet eine kostengünstige Möglichkeit, durch effiziente Lastverteilung innerhalb des Servernetzwerks die Hochverfügbarkeit Ihrer Unternehmenswebsite oder anderer Webprojekte sicherzustellen. Im Webhosting-Bereich wird Load Balancing zudem oft als Zusatz-Feature für Cloud-Server angeboten.

Free VPS Trial
vServer kostenlos testen für 30 Tage

Lassen Sie sich von den Vorteilen überzeugen. Probieren Sie Ihren Virtual Server ganz in Ruhe 30 Tage lang aus!

War dieser Artikel hilfreich?
Page top