NeoLeo - stock.adobe.com

Application vs. Network Load Balancing: Was ist der Unterschied?

Lastausgleich ist ein wichtiger Bestandteil der Datenverkehrsverteilung. Network Load Balancing und Application Load Balancing unterscheiden sich bei Geschwindigkeit und Effizienz.

Keiner der Dienste, die die Menschen im Internet für selbstverständlich halten, wie Online-Shopping, das Lesen von Nachrichten oder die Überprüfung von Investitionen, würde ohne Load Balancing funktionieren.

Load Balancing (Lastausgleich oder Lastverteilung) verteilt den Datenverkehr auf mehrere Systeme, die geografisch in Clouds oder Rechenzentren verteilt sein können und sich in virtuellen Servern oder dedizierten Systemen auf der ganzen Welt befinden. Ohne Lastausgleich würde zum Beispiel jeder, der eine Nachrichtenwebseite besucht oder online einkauft, auf dasselbe System zugreifen. Wenn der gesamte Datenverkehr auf ein einziges System fließen würde, wären die Server hoffnungslos überlastet. Durch den Lastausgleich wird der Datenverkehr so auf die Server verteilt, dass diese die Last gleichmäßiger bearbeiten.

Zwei gängige Arten des Lastausgleichs sind Network Load Balancing und Application Load Balancing. Beide unterscheiden sich darin, ob sie auf Schicht 4 oder Schicht 7 des OSI-Modells mit sieben Schichten arbeiten.

Was ist Network Load Balancing?

Der Netzwerklastausgleich ist in einem System oder Gerät implementiert, das ähnlich wie ein Router arbeitet, oft mit speziell für diesen Zweck entwickelter Hardware und Software. Es arbeitet auf Layer 4, der Transportschicht, und unterstützt Protokolle wie TCP und User Datagram Protocol (UDP). TCP garantiert, dass alle Pakete zugestellt werden, während UDP keine Garantien gibt.

Endbenutzer stellen Anfragen an Dienste über allgemein bekannte Domänennamen. Eine Anfrage an CNN geht zum Beispiel an den Load Balancer, der durch die Internetadresse von CNN identifiziert wird. Die Routing-Tabelle des Load Balancer ist mit mehreren Adressen von Systemen konfiguriert, die mit CNN-Inhalten geladen sind. Der Load Balancer führt eine schnelle Operation durch, indem er die Anfrage einfach an das entsprechende System weiterleitet.

Ein Netzwerk-Load-Balancer prüft nicht den Inhalt der Anfrage und entscheidet daher nicht, wohin die Anfrage auf der Grundlage des Inhalts weitergeleitet werden soll. Wenn ein Server offline geht, überspringt ein Load Balancer die Route zu ihm und sorgt so für allgemeine Zuverlässigkeit.

Was ist der Application Load Balancing?

Der Lastenausgleich für Anwendungen erfolgt auf Layer 7, der Anwendungsschicht. Eine auf einem Server installierte Anwendung prüft jede eingehende Anfrage, zum Beispiel HTTPS- oder SMTP-Anfragen. Das Application Load Balancing kann Anfragen an einen der Server weiterleiten, der die Anfrage am besten beantworten kann. Beispielsweise könnte eine Online-Shopping-Anfrage an ein System weitergeleitet werden, das das Inventar für diese Art von Produkt verwaltet.

Während ein Network Load Balancer Anfragen einfach weiterleitet, prüft Application Load Balancing die Protokolldaten der Anwendungsschicht aus dem Request Header. Diese Prüfung nimmt mehr Zeit in Anspruch als das Network Load Balancing, ermöglicht es dem Balancer jedoch, eine fundiertere Entscheidung darüber zu treffen, wohin die Anfrage geleitet werden soll.

Abbildung 1: Die Unterschiede zwischen Netzwerklastausgleich und Anwendungslastausgleich im Vergleich.
Abbildung 1: Die Unterschiede zwischen Netzwerklastausgleich und Anwendungslastausgleich im Vergleich.

Load-Balancing-Algorithmen

Wenn Anfragen eintreffen, wählen Load Balancer auf der Grundlage einer Reihe von Algorithmen zwischen möglichen Routen aus. Zu den Algorithmen für den Lastausgleich gehören die folgenden:

  • Fastest Response, die bestimmt, welcher Server am schnellsten antwortet.
  • Round-Robin-Verfahren, bei dem die möglichen Serverziele gleichmäßig durchlaufen werden.
  • Weighted Round Robin, das es Netzwerkadministratoren ermöglicht, den Servern Gewichtungen auf der Grundlage der Kapazität der einzelnen Systeme zuzuweisen.
  • Least-Outstanding Request, wie in AWS Application Load Balancer üblich, bei dem die Server mit der geringsten Anzahl von Anfragen in der Warteschlange ausgewählt werden.

Während Network Load Balancing in der Regel mehrere Algorithmen unterstützt, verwendet Application Load Balancing in den meisten Fällen Round-Robin oder Least Outstanding Request.

Unterschiede in Geschwindigkeit und Effizienz

Network Load Balancing und Application Load Balancing haben beide Vorteile, je nach Art des benötigten Internetdienstes. Netzwerk- oder Layer-4-Load-Balancer können schnellere Antworten liefern, da sie Anfragen weiterleiten, ohne sie zu prüfen. Anwendungs-Load-Balancer (Layer 7) können eine höhere Gesamteffizienz bieten, da sie Anfragen dorthin weiterleiten können, wo sie am effizientesten bearbeitet werden.

Erfahren Sie mehr über Netzwerk- und Anwendungs-Performance