Session-Persistenz

Session-Persistenz

Session-Persistenz bedeutet, dass alle Anfragen eines Nutzers während eines Besuchs immer beim selben Server landen. Das ist nötig, wenn dieser Server Informationen zum Nutzer im eigenen Arbeitsspeicher hält, die andere Server nicht kennen.

Große Webseiten laufen nicht auf einem einzigen Computer. Hinter der Adresse stehen oft Dutzende gleichartige Rechner, die sich die Arbeit teilen. Ein Verteiler davor schickt jede Anfrage an einen dieser Rechner. Session-Persistenz heißt: Ein Nutzer bleibt während seines Besuchs immer beim gleichen Rechner. Eine Sitzung, auf Englisch Session, ist dabei alles, was zwischen dem Öffnen und dem Verlassen einer Seite passiert. Ohne diese Bindung könnte jeder Klick bei einem anderen Rechner landen, der den Nutzer nicht wiedererkennt.

Warum der Warenkorb sonst leer ist

Das klassische Beispiel ist ein Online-Shop. Du legst Kopfhörer in den Warenkorb, der Server merkt sich das in seinem Arbeitsspeicher. Beim nächsten Klick landest du auf einem anderen Server derselben Seite. Dieser Server hat nie von deinen Kopfhörern gehört, der Warenkorb erscheint leer. Genau das verhindert Session-Persistenz.

Dasselbe Problem gilt für Anmeldungen. Wenn ein Server sich intern notiert, dass du eingeloggt bist, kennt der Nachbarserver diese Notiz nicht. Du würdest scheinbar zufällig immer wieder herausgeworfen. Solche Fehler sind besonders unangenehm, weil sie unregelmäßig auftreten und schwer zu finden sind.

Bei KI-Anwendungen wird das Thema aus einem anderen Grund wichtig. Ein Chatbot muss den bisherigen Gesprächsverlauf kennen, sonst antwortet er sinnlos. Viele Systeme halten diesen Verlauf und aufwendige Zwischenergebnisse auf einem bestimmten Rechner vor. Landet die nächste Frage woanders, muss alles neu berechnet werden. Das kostet Rechenzeit und damit Geld.

Cookies, IP-Adressen und der Verteiler

Zuständig ist der Verteiler vor den Servern, der Load Balancer genannt wird. Er muss sich merken, welcher Nutzer zu welchem Server gehört. Die häufigste Technik dafür ist ein Cookie: eine kleine Textnotiz, die der Verteiler im Browser des Nutzers ablegt. Darin steht eine Kennung für den zugewiesenen Server. Bei jeder weiteren Anfrage sendet der Browser die Notiz mit, und der Verteiler weiß, wohin.

Eine einfachere Variante nutzt die IP-Adresse, also die Nummer, unter der ein Gerät im Internet erreichbar ist. Aus dieser Nummer berechnet der Verteiler immer denselben Zielserver. Das funktioniert ohne Cookie, ist aber unzuverlässiger. In Firmennetzen und Mobilfunknetzen teilen sich viele Menschen eine IP-Adresse, dann landen alle auf einem Server.

Es gibt auch den umgekehrten Weg: Man verzichtet auf die Bindung und legt die Sitzungsdaten in eine gemeinsame, schnelle Datenbank. Jeder Server kann sie dort nachlesen. Solche Server nennt man zustandslos oder stateless. Der Vorteil ist Robustheit, denn beim Ausfall eines Servers geht nichts verloren. Der Nachteil sind zusätzliche Wartezeiten und ein weiteres System, das ausfallen kann.

Sichtbar bei Ausfällen und Lastspitzen

Als Nutzer bemerkt man Session-Persistenz vor allem, wenn sie fehlt. Der Warenkorb leert sich, ein halb ausgefülltes Formular ist plötzlich weg, oder eine Anmeldung hält nicht. Solche Effekte treten oft nach Updates auf, wenn Server ausgetauscht werden. Auch bei sehr hoher Last kann die Bindung brechen.

In Technik-News taucht der Begriff meist im Zusammenhang mit Cloud-Diensten auf. Anbieter wie Amazon oder Google verkaufen Load Balancer, bei denen Sticky Sessions eine einstellbare Option ist. Sticky Session ist dabei nur ein anderes Wort für dasselbe Prinzip.

Fachleute sehen die Bindung eher kritisch. Sie verteilt die Last ungleichmäßig, weil beliebte Nutzer nicht verschoben werden können. Fällt ein Server aus, verlieren alle daran gebundenen Nutzer ihre Sitzung. Deshalb gilt heute meist: Sitzungsdaten auslagern, Bindung nur dort nutzen, wo es sich nicht vermeiden lässt.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.