Unter Sitzungspersistenz versteht man die Weiterleitung der Anfragen eines Clients an denselben Back-End-Web- oder Anwendungsserver für die Dauer einer „Sitzung“ oder für die Zeit, die zum Abschließen einer Aufgabe oder Transaktion benötigt wird.

Websites mit hohem Datenverkehr müssen Hunderttausende, wenn nicht Millionen von Benutzern schnell und zuverlässig unterstützen. IT-Organisationen unterstützen diese großen Mengen, indem sie Server in einer sogenannten Serverfarm gruppieren. Ein Load Balancer sitzt vor der Servergruppe und leitet den Datenverkehr mit maximaler Effizienz an die einzelnen Server weiter.

Wenn ein Benutzer fünf Minuten lang auf Ihrer Website surft, ruft er wahrscheinlich Informationen von mehreren Backend-Servern ab. Wenn nicht jedes Mal auf denselben Server zugegriffen wird, kann dies zu Problemen führen, wenn der Webbrowser oder Backend-Server versucht, das Web-Erlebnis zu verbessern, indem er Informationen speichert, die eine schnellere Ausführung der nächsten Aktion des Benutzers ermöglichen. In diesem Fall ist es wichtig – um nicht zu sagen zwingend erforderlich –, dass alle Anfragen des Benutzers an denselben Server gesendet werden.

Um die Leistung zu steigern, kann ein Backend-Server die von einem Benutzer angeforderten Daten zwischenspeichern und zusätzliche Informationen, von denen er annimmt, dass ein Benutzer sie anfordern könnte, vorab zwischenspeichern. Was für den Benutzer häufig wie eine einzelne Anfrage aussieht, z. B. das Herunterladen eines großen Dokuments, wird in Wirklichkeit in mehrere Anfrage-Antwort-Transaktionen aufgeteilt und zwischen Client und Server übertragen. Der effizienteste Weg für den Benutzer, die angeforderten Informationen zu erhalten, besteht darin, auf den Server zuzugreifen, der sie bereits zwischengespeichert hat.

In anderen Fällen führt ein Benutzer möglicherweise eine Transaktion durch, die mehrere Schritte erfordert, z. B. das Ausfüllen eines Formulars, der Kauf eines Produkts oder die Aktualisierung seines Kontos. Wenn Client und Server Daten austauschen, müssen sie Statusinformationen zur Sitzung (als Kontext bezeichnet) speichern, damit die Transaktion reibungslos ablaufen kann. In diesem Fall erleichtert die Sitzungspersistenz den erfolgreichen Abschluss von Transaktionen erheblich.

Ein Load Balancer oder Application Delivery Controller (ADC) sitzt vor der Servergruppe und implementiert die Logik, die eine Benutzersitzung so lange wie nötig an einen bestimmten Server bindet.

Wie kann NGINX Plus helfen?

NGINX Plus und NGINX sind die besten Lastausgleichslösungen ihrer Klasse, die von Websites mit hohem Datenverkehr wie Dropbox, Netflix und Zynga verwendet werden. Mehr als 350 Millionen Websites weltweit verlassen sich auf NGINX Plus und NGINX Open Source, um ihre Inhalte schnell, zuverlässig und sicher bereitzustellen.

Als softwarebasierter Load Balancer ist NGINX Plus erheblich günstiger als Hardwarelösungen mit ähnlichen Funktionen. NGINX verwaltet die Sitzungspersistenz nativ auf verschiedene Arten, unter anderem durch die Verwendung von Cookies und Sticky Routes.