Der Lastenausgleich kann auf verschiedenen Schichten des OSI-Referenzmodells (Open Systems Interconnection) für Netzwerke erfolgen. Hier geben wir einen Überblick über zwei Optionen für den Lastenausgleich auf zwei verschiedenen Schichten des Modells.

Unterschiede zwischen Layer-4- und Layer-7-Load-Balancing

Layer-4-Load-Balancing arbeitet auf der mittleren Transportschicht, die für die Übermittlung von Nachrichten zuständig ist, ohne deren Inhalt zu berücksichtigen. Das Transmission Control Protocol (TCP) ist das Layer-4-Protokoll für den Hypertext Transfer Protocol (HTTP)-Datenverkehr im Internet. Layer-4-Load-Balancer leiten Netzwerkpakete einfach an den Upstream-Server weiter und von diesem zurück, ohne den Inhalt der Pakete zu prüfen. Sie können begrenzte Routing-Entscheidungen treffen, indem sie die ersten Pakete im TCP-Datenstrom untersuchen.

Layer‑7‑Load‑Balancing erfolgt auf der übergeordneten Anwendungsschicht, die den eigentlichen Inhalt jeder Nachricht verarbeitet. HTTP ist das vorherrschende Layer‑7‑Protokoll für Website‑Datenverkehr im Internet. Layer‑7‑Load‑Balancer leiten Netzwerkverkehr wesentlich differenzierter weiter als Layer‑4‑Load‑Balancer. Dies gilt insbesondere für TCP‑basierten Datenverkehr wie HTTP. Ein Layer‑7‑Load‑Balancer terminiert den Netzwerkverkehr und liest die darin enthaltene Nachricht. Er kann anhand des Nachrichteninhalts (beispielsweise der URL oder eines Cookies) entscheiden, wie die Last verteilt wird. Anschließend stellt er eine neue TCP‑Verbindung zum ausgewählten Upstream‑Server her (oder verwendet mithilfe von HTTP‑Keep‑Alive‑Verbindungen eine bestehende Verbindung erneut) und sendet die Anfrage an den Server.

Vorteile des Layer-7-Load-Balancings

Layer-7-Load-Balancing beansprucht die CPU stärker als paketbasiertes Layer-4-Load-Balancing, führt auf einem modernen Server jedoch nur selten zu Leistungseinbußen. Layer-7-Load-Balancing ermöglicht es dem Load Balancer , intelligentere Entscheidungen zur Lastverteilung zu treffen und Optimierungen sowie Änderungen an den Inhalten vorzunehmen (z. B. Komprimierung und Verschlüsselung). Durch Pufferung werden langsame Verbindungen von den Upstream-Servern ausgelagert, was die Leistung verbessert.

Ein Gerät, das Layer-7-Load-Balancing durchführt, wird häufig als Reverse-Proxy-Server bezeichnet.

Ein Beispiel für Layer-7-Lastverteilung

Sehen wir uns ein einfaches Beispiel an. Ein Benutzer besucht eine stark frequentierte Website. Im Laufe seiner Sitzung fordert er möglicherweise statische Inhalte wie Bilder oder Videos, dynamische Inhalte wie einen Newsfeed und sogar Transaktionsinformationen wie den Bestellstatus an. Mit Layer-7-Load-Balancing kann der Load Balancer eine Anfrage anhand der darin enthaltenen Informationen weiterleiten, beispielsweise nach der Art des angeforderten Inhalts. So kann eine Anfrage nach einem Bild oder Video an die Server weitergeleitet werden, auf denen die Datei gespeichert ist und die für die Bereitstellung von Multimedia-Inhalten hochgradig optimiert sind. Anfragen nach Transaktionsinformationen wie einem rabattierten Preis können an den für die Preisverwaltung zuständigen Anwendungsserver weitergeleitet werden. Mit Layer-7-Load-Balancing können Netzwerk- und Anwendungsarchitekten eine optimal abgestimmte und optimierte Serverinfrastruktur oder ein Application-Delivery-Netzwerk schaffen, das sowohl zuverlässig ist als auch effizient skaliert werden kann, um die Nachfrage zu erfüllen.

Wie NGINX helfen kann

NGINX Plus und NGINX sind erstklassige Lösungen für den Lastenausgleich, die von stark frequentierten Websites wie Dropbox, Netflix und Zynga eingesetzt werden. Mehr als 350 Millionen Websites weltweit vertrauen auf NGINX Plus und NGINX Open Source, um ihre Inhalte schnell, zuverlässig und sicher bereitzustellen.

Als softwarebasierter Load Balancer ist NGINX Plus deutlich kostengünstiger als hardwarebasierte Lösungen mit vergleichbarem Funktionsumfang. Mit den umfassenden Load-Balancing-Funktionen von NGINX Plus können Sie ein hochoptimiertes Netzwerk für die Anwendungsbereitstellung aufbauen.

Wenn Sie NGINX Plus als Load Balancer vor Ihrer Serverfarm einsetzen, steigert dies die Effizienz, Leistung, Zuverlässigkeit und Skalierbarkeit Ihrer gesamten Website. Mit NGINX Plus können Sie sowohl die Kundenzufriedenheit als auch die Rendite Ihrer IT-Investitionen maximieren.