Sitzungspersistenz bezeichnet die Weiterleitung der Anfragen eines Clients an denselben Backend-Web- oder Anwendungsserver für die Dauer einer „Sitzung“ beziehungsweise für die Zeit, die zum Abschluss einer Aufgabe oder Transaktion benötigt wird.

Websites mit hohem Datenverkehr müssen Hunderttausende, wenn nicht sogar Millionen von Nutzern schnell und zuverlässig bedienen können. IT-Organisationen bewältigen diese großen Volumina, indem sie Server zu einer sogenannten Serverfarm zusammenfassen. Ein Load Balancer ist der Servergruppe vorgeschaltet und leitet den Datenverkehr so an einzelne Server weiter, dass die Effizienz maximiert wird.

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

Um die Leistung zu steigern, kann ein Backend-Server die von einem Benutzer angeforderten Daten zwischenspeichern und zusätzlich Informationen vorab in den Cache laden, von denen er annimmt, dass der Benutzer sie möglicherweise anfordern wird. Was für den Benutzer wie eine einzelne Anfrage aussieht, etwa das Herunterladen eines großen Dokuments, wird häufig in mehrere Anfrage-Antwort-Transaktionen aufgeteilt und zwischen Client und Server übertragen. Am effizientesten erhält der Benutzer die angeforderten Informationen, wenn er auf den Server zugreift, der sie bereits zwischengespeichert hat.

In anderen Fällen führt ein Benutzer möglicherweise eine Transaktion durch, die mehrere Schritte erfordert, etwa das Ausfüllen eines Formulars, den Kauf eines Produkts oder ein Upgrade seines Kontos. Während Client und Server Daten austauschen, müssen sie Statusinformationen zur Sitzung speichern (den sogenannten Kontext). Nur so kann die Transaktion reibungslos ablaufen. In diesem Fall erleichtert die Sitzungspersistenz den erfolgreichen Abschluss von Transaktionen erheblich.

Ein Load Balancer oder Application Delivery Controller (ADC) ist der Servergruppe vorgeschaltet 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 erstklassige Load-Balancing-Lösungen, die von stark frequentierten Websites wie Dropbox, Netflix und Zynga eingesetzt werden. Mehr als 350 Millionen Websites weltweit setzen 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 Hardwarelösungen mit vergleichbarem Funktionsumfang. NGINX verwaltet die Sitzungspersistenz nativ auf verschiedene Arten, unter anderem mithilfe von Cookies und Sticky Routes.