Was ist Sitzungspersistenz?

Sitzungspersistenz bedeutet, dass die Anforderungen eines Kunden für die Dauer einer „Sitzung“ oder der Zeit, die für den Abschluss einer Aufgabe oder Transaktion benötigt wird, an denselben Backend-Web- oder Anwendungsserver geleitet werden.

Websites mit hohem Datenverkehr müssen Hunderttausende, wenn nicht gar 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 ist der Servergruppe vorgeschaltet und leitet den Datenverkehr so auf die einzelnen Server, dass die Effizienz maximiert wird.

Wenn ein Benutzer fünf Minuten lang auf Ihrer Website surft, ruft er wahrscheinlich Informationen von mehreren Backend-Servern ab. Wenn er nicht jedes Mal auf denselben Server zugreift, kann dies zu Problemen führen, wenn der Webbrowser oder Backend-Server versucht, das Web-Erlebnis zu verbessern, indem er Informationen speichert, die es dem Benutzer ermöglichen, seine nächste Aktion schneller auszuführen. In diesem Fall ist es wichtig – um nicht zu sagen dringend notwendig – dass alle Anforderungen des Benutzers an denselben Server gesendet werden.

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

In anderen Fällen kann ein Benutzer eine Transaktion durchführen, die mehrere Schritte erfordert, wie z. B. das Ausfüllen eines Formulars, den Kauf eines Produkts oder die Aktualisierung seines Kontos. Da der Client und der Server Daten austauschen, müssen sie Zustandsinformationen über die Sitzung (den so genannten Kontext) 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) 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 die besten Lastausgleichs-Lösungen ihrer Klasse, 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 preiswerter als Hardwarelösungen mit ähnlichen Funktionen. NGINX verwaltet die Sitzungspersistenz auf unterschiedliche Weise, unter anderem mit Cookies und Sticky Routes.