Mithilfe von Load Balancing lassen sich Ser­ver­zu­grif­fe durch eine vor­ge­schal­te­te tech­ni­sche Instanz, den so­ge­nann­ten Load Balancer, gleich­mä­ßig auf ver­schie­de­ne Hardware-Res­sour­cen verteilt. Auf diese Weise werden stabile Zu­griffs­ge­schwin­dig­kei­ten ge­währ­leis­tet, was ent­schei­dend ist, um Leads und Kund­schaft zu ge­ne­rie­ren.

vServer / VPS
VPS un­schlag­bar günstig auf Dell En­ter­pri­se Servern
  • 1 Gbit/s, un­be­grenzt Traffic & mehr Cores
  • Min­des­tens 99,99% Ver­füg­bar­keit & ISO-zer­ti­fi­zier­te Re­chen­zen­tren
  • Aus­ge­zeich­ne­ter 24/7 Premium-Support mit per­sön­li­chem Berater

Was ist Load Balancing?

Load Balancing ist vor allem in der Server-Technik populär und be­schreibt ein Verfahren, bei dem Anfragen im Hin­ter­grund – ohne dass Nutzende dies bemerken – auf ver­schie­de­ne Server verteilt werden. Der dafür ein­ge­setz­te Load Balancer lässt als Hardware oder Software umsetzen. Er weist einer Domain mehrere Server zu, ohne dass es zu Adress­kon­flik­ten kommt und wird dabei unter der öf­fent­li­chen Domain an­ge­spro­chen.

Hinweis

Nor­ma­ler­wei­se ist jede Domain nur einem Webserver zu­ge­ord­net. Fällt dieser wegen Über­las­tung aus, erhält der Nutzer bzw. die Nutzerin eine Feh­ler­mel­dung in Form eines HTTP-Status-Codes: Die Webseite kann dann nicht angezeigt werden.

Die un­ter­ge­ord­ne­ten Webserver werden mit den Domain-Zusätzen www1, www2, www3 usw. benannt. So er­mög­licht Last­ver­tei­lung, eine In­ter­net­sei­te unter ein und derselben URL verfügbar zu machen, obwohl sich dahinter mehrere Server verbergen. Dies wirkt einer Ser­ver­über­las­tung entgegen, da Anfragen von außen auf ver­schie­de­ne physische Rechner innerhalb des Clusters auf­ge­teilt werden. User bekommen davon in der Regel nichts mit, denn die Ver­tei­lung der Anfragen erfolgt auf Grundlage komplexer Al­go­rith­men im Hin­ter­grund.

Load Balancing kann auch abseits von Web­ser­vern eine Rolle spielen, z. B. bei Computern, die mit mehreren Pro­zes­so­ren arbeiten. In einem solchen Fall sorgt der Load Balancer dafür, dass die An­for­de­run­gen gleich­mä­ßig auf die ver­schie­de­nen Pro­zes­so­ren verteilt werden, um auf diese Weise mehr Re­chen­leis­tung zu ge­ne­rie­ren. Auch beim Einsatz von Con­tai­ner­soft­ware wie Ku­ber­netes sind Load Balancer gefragt. Hier sorgen sie dafür, dass die an­fal­len­den Workloads sinnvoll auf ver­schie­de­ne Pods verteilt werden.

Wie funk­tio­niert Load Balancing?

Anfragen an einen Webserver – zum Beispiel in Form von Sei­ten­auf­ru­fen – laufen zunächst auf dem Load Balancer. Dieser übernimmt dann die Last­ver­tei­lung, indem er die Zugriffe auf ver­schie­de­ne Server leitet. Der Load Balancer selbst kann als Hardware oder als Software rea­li­siert werden – das Prinzip bleibt aber das gleiche: Den Load Balancer erreicht eine Anfrage und abhängig von dem ver­wen­de­ten Verfahren leitet das Gerät oder die Software die Daten an den passenden Server weiter.

Tech­ni­sche Grundlage ist dabei das DNS-Verfahren: Nutzer und Nut­ze­rin­nen rufen eine Website nur über eine URL auf. Diese wird mithilfe des DNS (Domain Name System) in eine IP-Adresse um­ge­wan­delt, die wiederum auf den Load Balancer verweist. Im Idealfall bleibt dieser Vorgang von den Usern unbemerkt.

Bild: Schaubild zur Funktionsweise von Load Balancing
Schaubild: Ein Load Balancer verteilt die Last der Client-Zugriffe über das Internet bzw. Web auf ver­schie­de­ne Server.

Welche Vorteile hat ein aus­ge­wo­ge­nes Load Balancing?

Die drei wich­tigs­ten Vorteile eines gut ein­ge­setz­ten Load Balancers sind folgende:

  • Op­ti­mier­te Zu­griffs­zei­ten: Durch die Ver­tei­lung des Traffics auf mehrere Server können kürzere Zu­griffs­zei­ten rea­li­siert werden – und dies auch bei vielen Anfragen zur gleichen Zeit.
  • Höhere Aus­fall­si­cher­heit: Ein Load Balancer sorgt für eine höhere Si­cher­heit vor Ausfällen, da der Traffic eines zu langsamen Servers au­to­ma­tisch an andere Server im Cluster wei­ter­ge­lei­tet wird. Sollte ein Server nicht er­reich­bar sein, bleibt die gehostete Website dennoch verfügbar.
  • Ver­ein­fach­te Sys­tem­war­tung: Load Balancing ist eine große Stütze bei der Wartung eines Ser­ver­sys­tems. Kon­fi­gu­ra­tio­nen und Updates können im laufenden Betrieb der Server durch­ge­führt werden, ohne dass es zu einem spürbaren Per­for­mance-Verlust kommt. Der Load Balancer erkennt den War­tungs­zu­stand und leitet Anfragen ent­spre­chend um.

Welche Load-Balancing-Verfahren gibt es?

Wie ein­ge­hen­de Anfragen verteilt werden, ist von der Wahl des Al­go­rith­mus abhängig. Beliebte Al­go­rith­men für das Load Balancing sind: Round Robin, Weighted Round Robin, Least Con­nec­tions und Weighted Least Con­nec­tions.

Round Robin

Round Robin be­zeich­net ein Rund­lauf­ver­fah­ren, bei dem ein­ge­hen­de Ser­ver­an­fra­gen vom Load Balancer in einer War­te­schlan­ge verwaltet und auf die in Reihe ge­schal­te­ten Server verteilt werden. Dabei wird jede neue Anfrage dem nächsten Server in der Reihe zu­ge­wie­sen. So lassen sich Zugriffe gleich­mä­ßig auf das Load Balancing Cluster streuen. Beim Round-Robin-Verfahren werden alle Prozesse gleich behandelt – un­ab­hän­gig von der Dring­lich­keit der Anfrage oder der Ser­ver­aus­las­tung, die diese her­vor­ruft. Ein Load Balancer, der nach dem Round-Robin-Prinzip arbeitet, eignet sich daher vor allem für Um­ge­bun­gen, in denen allen Instanzen in etwa die gleichen Res­sour­cen zur Verfügung stehen.

Weighted Round Robin

Die Schwächen des klas­si­schen Round-Robin-Al­go­rith­mus bei he­te­ro­ge­nen Server-Clustern lassen sich durch eine ge­wich­te­te Round-Robin-Ver­tei­lung aus­glei­chen. Dabei werden ein­ge­hen­de Anfragen unter Be­rück­sich­ti­gung der sta­ti­schen Ge­wich­tung der einzelnen Server verteilt. Diese Ge­wich­tung definiert im Vorfeld der Ad­mi­nis­tra­tor bzw. die Ad­mi­nis­tra­to­rin.

Dem leis­tungs­stärks­ten Server kann man so bei­spiels­wei­se den Wert „100“ zuweisen, weniger ef­fi­zi­en­ten Servern hingegen den Wert „50“. In einem solchen Aufbau würde der mit „100“ ge­wich­te­te Server vom Load Balancer in einer Runde jeweils zwei Anfragen zugeteilt bekommen, während der mit „50“ ge­wich­te­te Server nur eine Anfrage erhält. Weighted Round Robin sollte vor­nehm­lich dann beim Load Balancing ein­ge­setzt werden, wenn den im Cluster ver­bun­de­nen Servern un­ter­schied­li­che Res­sour­cen zur Verfügung stehen.

Least Con­nec­tions

Beide Round-Robin-Al­go­rith­men be­rück­sich­ti­gen bei der seriellen Ver­tei­lung der Ser­ver­an­fra­gen durch den Load Balancer nicht, wie viele Ver­bin­dun­gen die un­ter­ge­ord­ne­ten Server über einen be­stimm­ten Zeitraum hinweg auf­recht­erhal­ten müssen. So können sich bei einem Server des Clusters mehrere Ver­bin­dun­gen anhäufen. Das führt dazu, dass der Server über­las­tet wird, selbst wenn dieser weniger Ver­bin­dun­gen unterhält als die anderen. Davor schützt der Least-Con­nec­tions-Al­go­rith­mus. Dieser verteilt Anfragen auf Grundlage der bereits be­stehen­den Ver­bin­dun­gen des je­wei­li­gen Servers – derjenige mit der ge­rings­ten Anzahl an aktiven Ver­bin­dun­gen bekommt vom Load Balancer die nächste Anfrage zugeteilt. Diese Load-Balancing-Methode empfiehlt sich für homogene Server-Cluster, bei denen allen Rechnern ver­gleich­ba­re Res­sour­cen zur Verfügung stehen.

Weighted Least Con­nec­tions

Wenn ein Server-Cluster un­ter­schied­li­che Ka­pa­zi­tä­ten aufweist, sollte statt des Least-Con­nec­tions-Al­go­rith­mus ein Load Balancing zur Anwendung kommen, das auf Grundlage der ge­wich­te­ten Ver­tei­lung nach be­stehen­den Ver­bin­dun­gen agiert. Dadurch wird sowohl der Anzahl der aktiven Ver­bin­dun­gen eines Servers Rechnung getragen als auch der durch den Ad­mi­nis­tra­tor de­fi­nier­ten Ge­wich­tung. So lässt sich eine aus­ge­wo­ge­ne Las­ten­ver­tei­lung innerhalb des Server-Clusters si­cher­stel­len. Neue Anfragen werden vom Load Balancer au­to­ma­tisch den­je­ni­gen Servern zu­ge­wie­sen, deren Ver­hält­nis von aktiven Ver­bin­dun­gen zur je­wei­li­gen Ser­ver­ge­wich­tung die geringste momentane Aus­las­tung 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-Be­su­chen­de füllen den Warenkorb mit Artikeln, die sie gerne kaufen möchten. Für die Dauer einer Session bleiben diese Artikel ge­spei­chert, un­ab­hän­gig davon, welche Seite die Personen innerhalb des Online-Markt­plat­zes aufrufen. Ein normaler Load Balancer würde die Anfragen aber auf ver­schie­de­ne Server verteilen. Das hieße: Der Inhalt des Wa­ren­korbs 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 bei­spiels­wei­se Anfragen der gleichen IP-Adresse immer auch auf denselben Server. Eine andere Methode wäre es, eine Session-ID aus der Anfrage selbst her­aus­zu­le­sen, 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 Un­ter­neh­men keinen Ser­ver­aus­fall leisten. Und wenn Sie nur einen Server verwenden und dieser wegen Über­las­tung ausfällt, ist Ihre Website für po­ten­zi­el­le Kund­schaft nicht mehr er­reich­bar. Das führt gleich zu mehreren Problemen: Zum einen können Sie während der Über­las­tung keinen Umsatz ge­ne­rie­ren. Denn Dienst­leis­tun­gen können nicht gebucht und Käufe nicht getätigt werden. Zum anderen sinkt auch das Vertrauen der (po­ten­zi­el­len) Kunden und Kundinnen. Doppelt schlimm trifft es User, bei denen eine Ser­ver­über­las­tung während des Be­stell­vor­gangs auftritt. Oft herrscht dann große Un­si­cher­heit und die Be­trof­fe­nen wissen nicht, ob die Be­stel­lung tat­säch­lich im System an­ge­kom­men und vermerkt ist.

Aber auch, wenn Sie keinen Dienst direkt über das Internet anbieten, sollte Ihre Website jederzeit er­reich­bar sein. Eine Website ist einer der wich­tigs­ten Haupt­ka­nä­le, um an In­for­ma­tio­nen zu gelangen. Sollten po­ten­zi­el­le Kundinnen und Kunden Details zu Ihrem Un­ter­neh­men online suchen und keine Website von Ihnen erreichen können, wird er eher Ihrer Kon­kur­renz ins Auge fassen. Solche Risiken mi­ni­mie­ren Sie mit einem Load Balancer.

So rea­li­sie­ren Sie Load Balancing in Ihrem Un­ter­neh­men

Load Balancing lässt sich sowohl über Hardware- als auch über Software-Lösungen auf einem vir­tu­el­len Server rea­li­sie­ren. Pro­fes­sio­nel­le Kom­plett­pa­ke­te stellen zahl­rei­che Anbietern entweder als In­fra­struc­tu­re-as-a-Service (IaaS) oder als Netz­werk­kom­po­nen­te für die eigene IT-In­fra­struk­tur zur Verfügung.

Da die An­schaf­fung pro­prie­tä­rer Load Balancer meist mit hohen Kosten verbunden ist, greifen kleinere Un­ter­neh­men oft auf Open-Source-Lösungen wie NGINX zurück. Dieser bietet eine kos­ten­güns­ti­ge Mög­lich­keit, durch ef­fi­zi­en­te Last­ver­tei­lung innerhalb des Ser­ver­netz­werks die Hoch­ver­füg­bar­keit Ihrer Un­ter­neh­mens­web­site oder anderer Web­pro­jek­te si­cher­zu­stel­len. Im Web­hos­ting-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 über­zeu­gen. Probieren Sie Ihren Virtual Server ganz in Ruhe 30 Tage lang aus!

Zum Hauptmenü