NeoLeo - stock.adobe.com

Was unterscheidet Anwendungs- und Netzwerk-Lastverteilung?

Netzwerk-Lastverteilung und Anwendungs-Lastverteilung bearbeiten beide Datenverkehrsanfragen. Sie verarbeiten diese jedoch mit unterschiedlicher 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 (Lastverteilung oder Lastausgleich) funktionieren.

Load Balancing 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?

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.

Netzwerk-Lastausgleich vs. Anwendungs-Lastausgleich
Abbildung 1: Die Unterschiede zwischen Netzwerk-Lastausgleich und Anwendungs-Lastausgleich 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:

  • Round Robin: Bei diesem einfachen statischen Algorithmus werden alle möglichen Serverziele gleichmäßig durchlaufen.
  • Weighted Round Robin: Mit dieser statischen Variante können verschiedenen Servern je nach Kapazität des jeweiligen Systems Routing-Gewichtungen zugewiesen werden. Daher eignet sich dieser Algorithmus für IT-Umgebungen, in denen nicht alle Server über einheitliche Verarbeitungskapazitäten verfügen.
  • IP-Hash: Bei diesem statischen Algorithmus werden die IP-Adressen der Clients gehasht, um Anfragen von denselben IP-Adressen kontinuierlich an bestimmte Server zu senden. Dies unterstützt die Sitzungsaufrechterhaltung, was in zustandsbehafteten Anwendungen nützlich sein kann.
  • Least Connection: In jedem Lastenausgleichsszenario verwaltet jeder Server eine Warteschlange mit Anfragen und verschiedenen aktiven Client-Verbindungen. Dieser dynamische Lastenausgleichsalgorithmus wird manchmal auch als „Least Outstanding Request“ bezeichnet. Er wählt den Server mit der geringsten Anzahl von Verbindungen oder Warteschlangenanfragen aus. Dies geschieht unter der Annahme, dass dieser Server die schnellste Antwort liefern kann. Dieser Ansatz ist zwar effizient, erfordert jedoch einen zusätzlichen Kommunikationsschritt: Die Server müssen dem Load Balancer eine Nachricht senden, wenn eine Verbindung beendet wird oder eine Anfrage aus der Warteschlange entfernt wird.
  • Weighted Least Connection: Wie bei der gewichteten Round-Robin-Methode weist dieser dynamische Algorithmus den Servern Gewichte zu, die sich nach der Anzahl der aktiven Verbindungen richten, die sie verarbeiten können. Die Lastverteilung erfolgt jedoch weiterhin dynamisch auf der Grundlage der Anzahl der zu einem bestimmten Zeitpunkt vorhandenen Verbindungen.
  • Least Response Time: Bei diesem dynamischen Algorithmus wird ermittelt, welcher Server am schnellsten antwortet, und die Anfragen werden entsprechend weitergeleitet. Diese Methode wird manchmal auch als „schnellste Antwort“ bezeichnet und kann mit der Methode „Least Connection“ kombiniert werden. Dabei wird eine durchschnittliche Zeitmessung hinzugefügt, die die Geschwindigkeit erfasst, mit der verschiedene Server Verbindungen schließen und Anfragen aus ihrer Warteschlange entfernen.
  • Ressourcenbasiert: Dieser dynamische Load-Balancer-Algorithmus fragt auf den Servern installierte Softwareagenten ab, um die Nutzung von Rechen- und Speicherressourcen zu verfolgen. Anschließend leitet er die Anfragen basierend auf der Verfügbarkeit der Ressourcen an die Server weiter.

Unterschiede in Geschwindigkeit und Effizienz

Je nach Art des erforderlichen Internetdienstes haben Netzwerk-Load-Balancer und Anwendungs-Load-Balancer unterschiedliche Vorteile. Netzwerk-Load-Balancer, auch Layer-4-Load-Balancer genannt, können schnellere Antworten liefern, da sie Anfragen ohne Prüfung weiterleiten. Anwendungs-Load-Balancer oder Layer-7-Load-Balancer sind dagegen effizienter, da sie Anfragen dorthin senden, wo sie am effizientesten bearbeitet werden können.

Die Wahl zwischen Netzwerk- und Anwendungslastverteilung hängt von der Art der in Webanwendungen, Cloud-Umgebungen und lokalen Systemen gespeicherten Informationen, vom Grund für den Zugriff sowie vom Datenverkehrsaufkommen ab.

Nehmen wir erneut CNN als Beispiel: In der Regel besuchen Nutzer die Webseite, um die neuesten Nachrichten zu lesen. Einige klicken auf einen bestimmten Artikel, während andere sich die Startseite ansehen und dort einen Artikel auswählen. In diesem Fall wäre eine Anwendungslastverteilung nicht sinnvoll, da die Anfragen lediglich an CNN.com gerichtet sind und keine Informationen zu den einzelnen Artikeln enthalten, die die Nutzer auswählen. Das erforderliche Routing der Anfragen an verschiedene Server zur Leistungsoptimierung ist eine Aufgabe für einen Netzwerk-Load-Balancer.

Anders verhält es sich bei Anfragen von Online-Käufern an die Webseite von Amazon: Diese beziehen sich häufig auf einen bestimmten Produkttyp. In diesem Fall wäre ein Anwendungs-Load-Balancer sinnvoll. Die Weiterleitung der ersten Anfrage an einen Server, der den entsprechenden Produkttyp unterstützt, sollte die Antwortzeit verkürzen.

Lösungen für Netzwerk- und Anwendungs-Lastverteilung

Es gibt eine Vielzahl von Load Balancern, die Sie kaufen oder kostenlos nutzen können. Einige unterstützen nur die Anwendungs- oder Netzwerklastverteilung, während andere beide Arten abdecken. Im Folgenden finden Sie einige Beispiele für beliebte kommerzielle Produkte in alphabetischer Reihenfolge:

  • Akamai NodeBalancers
  • Azure Load Balancer (Microsoft)
  • Barracuda Load Balancer ADC
  • Cloudflare Load Balancing
  • Cloud Load Balancing (Google)
  • DigitalOcean Load Balancers
  • Elastic Load Balancing (AWS)
  • F5 Big-IP, Nginx One und Distributed Cloud DNS Load Balancer
  • Fastly Load Balancer
  • Netscaler ADC
  • Progress Kemp LoadMaster
  • VMware Avi Load Balancer

Zu den Open-Source-Tools für die Lastverteilung mit kostenlosen Versionen gehören HAProxy, Relianoid und Traefik Proxy. Einige kommerzielle Produkte, zum Beispiel Progress Kemp LoadMaster, bieten ebenfalls eine kostenlose Version an (Free LoadMaster), während andere kostenlos zur Evaluierung oder für einen begrenzten Zeitraum genutzt werden können.

Dieser Artikel wurde im August 2025 aktualisiert, um neue Entwicklungen zu berücksichtigen und das Leseerlebnis zu verbessern.

Erfahren Sie mehr über Netzwerk- und Anwendungs-Performance