Lastverteilung Was ist Load Balancing, und was ist ein Load Balancer?

Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Dr. Jürgen Ehneß

Mit Hilfe des Load Balancings lassen sich im IT- und Netzwerkumfeld auftretende Workloads wie Anfragen an Server, an Prozessoren oder an Storage-Geräte gleichmäßig verteilen. Die Lastverteilung kann mit unterschiedlichen statischen oder dynamischen Verfahren erfolgen. Zwischengeschaltete Geräte oder Anwendungen, welche die Lastverteilung vornehmen, werden als Load Balancer bezeichnet. Sie arbeiten je nach Typ auf unterschiedlichen OSI-Ebenen.

Firma zum Thema

Die wichtigsten IT-Fachbegriffe verständlich erklärt.
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - Fotolia)

Der deutsche Begriff für Load Balancing lautet „Lastverteilung“. Es handelt sich um ein im IT- und Netzwerkumfeld häufig eingesetztes technisches Verfahren, mit dem sich die unterschiedlichen auftretenden Workloads gleichmäßig auf parallel vorhandene Ressourcen aufteilen lassen.

Das Load Balancing verteilt beispielsweise Anfragen an Server, Prozessoren oder Speichergeräte. Zur Lastverteilung werden die zur Verfügung stehenden Ressourcen in einer Art Pool verwaltet. Software- oder Hardware-basierte Load Balancer weisen die erhaltenen Anfragen mit Hilfe unterschiedlicher statischer oder dynamischer Verfahren den verschiedenen Ressourcen zu. Das Load Balancing verhindert, dass einzelne Ressourcen überlastet werden, ermöglicht eine bessere Performance des Gesamtsystems und führt zu einer höheren Verfügbarkeit.

Ein typisches Beispiel für ein häufig verwendetes Load Balancing ist die Verteilung der HTTP-Anfragen aus dem Internet für eine bestimmte Internetseite an mehrere Server. Dadurch können mehr Internetuser mit kürzeren Antwortzeiten bedient werden. Damit es bei bestimmten Protokollen wie bei der SSL-basierten Verschlüsselung der Kommunikation nicht zu Problemen kommt, sorgen die in diesem Bereich eingesetzten Load-Balancing-Verfahren dafür, dass die Anfragen desselben Benutzers immer an denselben Server gesendet werden.

Was ist ein Load Balancer?

Als Load Balancer bezeichnet man eine Hardware oder eine Software, die zwischen den Ressourcen, welche die Anfragen bearbeiten sollen, und den anfragenden Systemen platziert ist. Die Load Balancer arbeiten auf einer oder mehreren Ebenen des ISO/OSI-Schichtenmodells. In der Regel haben sie über intelligente Feedback-Mechanismen Kenntnis vom Auslastungszustand der Zielsysteme und können die Auslastung bei der Zuteilung der Anfragen berücksichtigen, um Einzelsysteme nicht zu überlasten. Beispielsweise überwacht der Load Balancer die Antwortzeiten der Zielsysteme oder deren Prozessor- und Speicherauslastung. Fallen einzelne Zielsysteme aus, leitet der Load Balancer die Anfragen an die verbleibenden Ressourcen weiter und sorgt für eine höher Verfügbarkeit des Gesamtsystem.

Die verschiedenen Verfahren zur Lastverteilung

Die Lastverteilung kann grundsätzlich mit oder ohne Berücksichtigung der aktuellen Auslastung des Zielsystems erfolgen. Einfache Verfahren wie das Load Balancing per Domain Name System (DNS) nennen den anfragenden Clients die IP-Adressen unterschiedlicher Zielserver, an die sich die Clients anschließend wenden. Beim Round-Robin-Verfahren verteilt der Load Balancer die Anfragen der Clients nacheinander an die vorhandenen Zielsysteme. Über die Gewichtung einzelner Server oder erhaltenes Feedback lassen sich unterschiedliche Systeme unterschiedlich stark auslasten. Weitere typische Verfahren zur Lastverteilung sind:

  • Lastverteilung nach dem Zufallsprinzip,
  • diensteabhängige Lastverteilung,
  • URL-abhängige Lastverteilung,
  • IP-adressabhängige Lastverteilung,
  • Lastverteilung mit Network Address Translation (NAT),
  • Lastverteilung über Multicast-Mechanismen,
  • Lastverteilung unter Berücksichtigung der Verbindungsanzahl, Antwortzeit oder Bandbreite.

(ID:47361293)

Über den Autor