Lösung

Jede Benutzersitzung auf dem richtigen Backend halten

9 Persistenzmethoden, von Source-IP-Hashing bis SAM — TR7s konfigurierbare Cookie-Engine mit 4 Cookie-Quellen, 4 Sitzungsformaten, 4 Sicherheits-Flags

Einkaufswagen, eingeloggte Dashboards, Banking-Sitzungen, RDP-Gateways — sobald ein Benutzer einen zustandsbehafteten Flow startet, muss jede Folgeanfrage auf demselben Backend landen. Source-IP funktioniert, bis Benutzer hinter NAT sitzen. Einfache Cookies funktionieren, bis sie entfernt werden. TR7 ADC liefert 9 Persistenzmethoden, sodass immer die richtige verfügbar ist — pro vService gewählt, kein Kompromiss.

9
Mitgelieferte Session-Persistenz-Methoden
2 × 4 × 4
SAM-Cookie-Quelle × Sitzungsformat × Sicherheits-Flag-Kombinationen
pro vService
Persistenzmethode — live ohne Neustart änderbar

Wann Load Balancing Sitzungen unterbricht

Round-Robin sendet jede Anfrage an ein anderes Backend — by Design. Für zustandslose Dienste ist das perfekt. Aber sobald sich ein Benutzer einloggt, einen Warenkorb füllt oder einen Remote Desktop startet, beginnt die Anwendung, Zustand auf einem bestimmten Backend zu halten. Wenn Anfrage Nr. 2 auf einem anderen landet, sieht der Benutzer einen leeren Warenkorb, einen ausgeloggten Bildschirm oder eine eingefrorene RDP-Sitzung.

Session-Persistenz (oder „Affinity“) löst dies, indem ein Benutzer für die Dauer der Sitzung an ein gewähltes Backend gebunden wird. Der Haken: Es gibt keinen einzig richtigen Weg zum Binden. Source-IP funktioniert für Benutzer mit eindeutigen IPs, bricht aber hinter Corporate NAT zusammen. Cookies funktionieren in Browsern, aber nicht für rohes TCP. URL-Parameter-Hash funktioniert für zustandslose URLs, aber nicht für benutzerbezogene Flows. Jede Methode ist irgendwo richtig.

Die Antwort besteht darin, jede Methode zu liefern und pro vService zu wählen.

Die Persistenzmethode pro vService wählen

Jeder vService wählt seine Persistenzmethode aus einem Dropdown — neben seinem Load-Balancing-Algorithmus. Beide Schichten sind unabhängig: Fastest+ für die Backend-Auswahl und ein TR7-Cookie für Affinity wählen, oder Round-Robin mit Source-IP, oder welche Kombination auch immer zur Workload passt. Methodenwahl ist Hot-Swap, kein Neustart.

9 Methoden mitgeliefert

Fünf selbst-persistente Load-Balancing-Algorithmen (source, URI, URL-param, header, RDP-cookie) plus vier explizite Persistenzmethoden (TR7-Cookie, Backend-Cookie, dynamisch, SAM). Deckt jeden häufigen Fall ab.

SAM — volle Cookie-Kontrolle

Session Affinity Manager ermöglicht es Ihnen, die Cookie-Quelle (TR7-generiert oder Backend-generiert), das Sitzungsformat (UUID, IP-Timestamp-Random, IP-Random, Custom) und Sicherheits-Flags (HttpOnly, Secure, SameSite=Strict/Lax) einzustellen — ohne Backend-Code zu berühren.

Kombinierbar mit jedem ADC-Algorithmus

Persistenz läuft auf dem Load-Balancing-Algorithmus auf: Der Algorithmus wählt das Backend für die erste Anfrage; Persistenz fixiert den Rest. Fastest+ für den Kaltstart, Sticky-Cookie für die Sitzung — funktioniert zusammen.

Hot-Swap (kein Neustart)

Die Persistenzmethode bei einem laufenden vService ändern und neue Sitzungen übernehmen sofort die neue Methode. Bestehende fixierte Sitzungen laufen ungestört weiter, bis sie ablaufen.

9 mitgelieferte Session-Persistenz-Methoden

Die Methode wählen, die zum Protokoll, der Client-Population und dem Sitzungsmodell der Anwendung passt. Alle 9 pro vService verfügbar — kein Code, kein Plugin.

Source-IP

Dieselbe Client-IP landet immer auf demselben Backend. Einfach, codefrei, funktioniert für jedes Protokoll. Am besten, wenn Client-IPs vielfältig sind — bricht hinter Shared NAT oder Corporate Proxies zusammen.

URI-Längen-Hash

Hash auf die URL-Länge verteilt die Last nach URL-Komplexität, während identische URLs auf dasselbe Backend fixiert werden. Nützlich für Cache-Affinitäts-Szenarien.

URL-Parameter-Hash

Hash auf einen bestimmten Query-Parameter (z. B. ?user_id, ?session_token). Leitet dieselbe benutzerbezogene Anfrage ohne Cookies an dasselbe Backend weiter.

Header-Hash

Hash auf einen benutzerdefinierten HTTP-Header. Nützlich, wenn der Upstream-Aufrufer Tenant- oder Korrelations-IDs injiziert, oder für headerbasiertes A/B-Routing.

RDP-Cookie

Liest den im Protokoll-Handshake eingebetteten RDP-Sitzungs-Cookie. Erforderlich für RDP-Gateways und Remote-Desktop-Farmen — hält Benutzer nach einem Reconnect auf demselben RDP-Host.

TR7-Cookie

TR7 ADC generiert und verwaltet den Affinity-Cookie selbst — kein Backend-Code erforderlich. Der Operator setzt den Cookie-Namen und ein Max-Idle-Timeout; der ADC liest ihn bei jeder Anfrage, das Backend ignoriert ihn. Einfachste Persistenz, die sich an eine Legacy-App anschließen lässt.

Backend-Cookie

Den eigenen Sitzungs-Cookie der Anwendung für Affinity verwenden — der Operator benennt den Cookie (PHPSESSID, JSESSIONID, app-id oder beliebiger Custom-Name) und TR7 ADC liest den vorhandenen Wert. Keine neuen Cookies hinzugefügt. Richtig, wenn die Anwendung bereits Sitzungen verfolgt und Sie keine zweite Cookie-Schicht aufstaple wollen.

Dynamische Persistenz

Hash-Schlüssel-Persistenztabelle im Speicher gepflegt. Jeder Eintrag bildet einen Schlüssel — eine beliebige Kombination aus Anfrage-Headern, Cookies, Source-IP oder URL-Parametern — auf ein Backend ab. Der Operator setzt die Tabellengröße (10K bis 100M Einträge, Standard 3M) und die Eintrags-Ablaufzeit. Verwenden Sie dies, wenn Persistenzregeln flexibler sein müssen als ein einzelner fester Cookie oder Header.

SAM — Session Affinity Manager

Die erweiterte Cookie-basierte Persistenz-Engine. Wählen Sie, wer den Cookie generiert, das Sitzungs-ID-Format und die Sicherheits-Flags — alles aus der UI, keine Backend-Änderungen. Siehe Details unten.

SAM — Session Affinity Manager

SAM ist TR7s flexibelste Persistenzmethode. Wo ein einfacher Cookie eine Sitzung fixiert, lässt SAM Sie jede Eigenschaft dieses Cookies aus einem Dropdown steuern — ohne Backend-Änderungen, ohne Regelcode zu schreiben.

01

Zwei Cookie-Quellen

Wählen Sie, wer den Affinity-Cookie generiert: TR7-generiert (Standard — keine Backend-Beteiligung) oder Backend-generiert (den bestehenden Sitzungs-Cookie der Anwendung verwenden). Wechseln Sie zwischen beiden, ohne aktive Sitzungen zu unterbrechen.

02

Vier Sitzungs-ID-Formate — einschließlich eines weit offenen Custom-Modus

Optionen für das Sitzungsbezeichnerformat: UUID (zufällig 128-bit), IP-Timestamp-Random (nachverfolgbar, zeitgeordnet), IP-Random (anonym innerhalb eines Tenants) oder Custom. Custom-Modus öffnet die gesamte Traffic-Variablenoberfläche — kombinieren Sie beliebige Anfrage-Header, Cookies, URL-Komponenten, TLS-Sitzungsinfo, Source-IP (roh oder maskiert), JWT-Claims, Query-Parameter und sogar Anfrage-Body-Felder mit Operator-definierten Transform-Funktionen (Maskierung, Hashing, Substring-Extraktion, Case-Normalisierung, Verkettung). Dieselbe Variable-und-Transform-Engine treibt auch Dynamic-Persistenz-Hash-Schlüssel an. Echtwelt-Kombinationen finden Sie im Spotlight unten.

03

Vier Sicherheits-Flag-Kombinationen

Cookie-Sicherheits-Flags: HttpOnly (kein JavaScript-Zugriff — XSS-Schutz), Secure (nur HTTPS), SameSite=Strict (kein Cross-Site-Senden — CSRF-Schutz), SameSite=Lax (kompatibilitätsfreundliche Variante). Nach Bedarf kombinieren.

04

Operator-konfigurierbar, kein Code

Alles oben Genannte ist ein per-vService-Dropdown im SAM-Panel. Kein benutzerdefinierter Regelcode, keine Backend-Integration, keine separate WAAP-Regel für Cookie-Handling. SAM ist eine Konfiguration, kein Skript.

Custom Format & Hash-Flexibilität

Jenseits von Cookies und IP — beliebige Traffic-Variablen kombinieren

SAM Custom Format und Dynamic-Persistenz-Hash-Schlüssel akzeptieren jede Traffic-Variable, die TR7 ADC sieht — kombinieren, transformieren, die exakte Persistenzregel erstellen, die Ihre Anwendung benötigt

SAM Custom Format — Echtwelt-Kombinationen

TLS-Sitzungs-ID + maskierte /24-Source-IP — mobile Benutzer durch TLS-Resumption auf demselben Backend halten, auch wenn ihre IP innerhalb eines Carrier-Subnetzes wechselt (Zellturm-Handoff)
JWT-Claim (nach Decode) + Tenant-Header — Multi-Tenant-SaaS, bei dem die authentifizierten Benutzer jedes Tenants zum eigenen dedizierten Backend-Cluster routen, aus dem Token selbst dekodiert
User-Agent-Fragment + Accept-Language — Desktop-EN-Kohorten von Mobile-TR-Kohorten auf verschiedene Backend-Pools trennen ohne App-Änderungen
TLS-SNI-Servername + URL-Pfadpräfix — Multi-App-SNI-Hosting, bei dem SNI die App bestimmt, das Pfadpräfix die Instanz — ein ADC, viele Tenants
Geo-IP-Land + erstes URL-Segment — geografisches Content-Routing, das auch strukturell weiß, welcher Abschnitt der Site angefragt wird

Dynamische Persistenz — Multi-Variable-Hash-Schlüssel

IP /24 + URL-Pfadpräfix — geografische Cache-Affinität gebunden an URL-Struktur (CDN-freundlich ohne ein CDN)
Header-Wert + Kleinbuchstaben-Query-Parameter — case-insensitives Multi-Region-Routing, bei dem ?user=Alice und ?user=alice auf demselben Backend landen
HTTP-Methode + Content-Type — HTTP/2-POSTs zu API-optimierten Backends und HTTP/1.1-GETs zu Static-Asset-Backends aus einem vService routen
Cookie-Substring + IP-Klasse — partielles Legacy-Cookie-Pattern-Matching, wenn die App nicht-standardmäßige Cookie-Formen verwendet
Anfrage-Body-Feld-Hash + Auth-Header — für SOAP und Legacy-APIs, bei denen der Sitzungsbezeichner im Body lebt, nicht in Headern oder Cookies

Transform-Funktionen auf jeder Variable

IP-Adress-Maskierung — /8, /16, /24 oder willkürliche Präfixlängen-Maskierung für kohortenleveliges Subnet-Routing
Substring-Extraktion via Regex — ein bestimmtes Fragment aus einem Header, Cookie oder einer URL ziehen (z. B. nur das Tenant-ID-Präfix aus einem längeren JWT extrahieren)
Case-Normalisierung — vor dem Hashing auf Kleinbuchstaben oder Großbuchstaben für case-insensitives Routing über gemischte Clients
Kryptografischer Hash (MD5, SHA) — opake, festlängige Sitzungs-IDs aus sensiblen Quellvariablen erzeugen — die zugrundeliegenden Daten verlassen die Plattform nie
String-Verkettung mit Operator-definierten Trennzeichen — beliebig viele Variablen mit benutzerdefinierten Trennzeichen für eindeutige zusammengesetzte Schlüssel kombinieren

Wenn Persistenz am wichtigsten ist

E-Commerce-Warenkörbe und Checkout

Benutzer fügen Artikel über mehrere Seitenladevorgänge hinzu. Backend-Cookie oder TR7-Cookie hält den Warenkorb-Zustand auf einem Backend — der Checkout sieht nie einen leeren Warenkorb.

Authentifizierte Dashboards

Eingeloggte Sitzungen, bei denen der Berechtigungs-Cache des Benutzers auf einem Backend lebt. SAM mit TR7-generiertem Cookie + HttpOnly + Secure funktioniert ohne Backend-Code-Änderungen.

RDP-Gateways und Remote-Desktop-Farmen

RDP-Sitzungen müssen sich mit demselben Host neu verbinden. RDP-Cookie-Persistenz liest die protokollnative Sitzungs-ID — keine zusätzliche Konfiguration, keine Cookie-Injektion.

Legacy-Apps ohne Session-Management

Anwendungen, die Sitzungen nicht selbst verfolgen. Source-IP- oder URL-Parameter-Persistenz fixiert Benutzer, ohne Code-Änderungen an der Legacy-App zu erfordern.

Häufig gestellte Fragen

Muss ich zwischen Load-Balancing-Algorithmus und Persistenz wählen?
Nein — beide Schichten laufen unabhängig. Der Load-Balancing-Algorithmus wählt das Backend für die erste Anfrage in einer Sitzung; Persistenz fixiert dann alle Folgeanfragen an dieses Backend, bis die Sitzung endet. Verwenden Sie jeden Algorithmus (Round-Robin, Fastest+ usw.) mit jeder Persistenzmethode.
Was ist der Unterschied zwischen TR7-Cookie und SAM?
TR7-Cookie ist ein einfacher Standard — TR7 ADC generiert einen opaken Affinity-Cookie, setzt vernünftige Standardwerte und fixiert Sitzungen. SAM ist dieselbe Idee, aber mit Operator-Kontrolle über jede Cookie-Eigenschaft: Quelle, Sitzungs-ID-Format, Sicherheits-Flags. Verwenden Sie TR7-Cookie für den häufigen Fall; verwenden Sie SAM, wenn Sie feinkörnige Kontrolle ohne Backend-Änderungen benötigen.
Was passiert, wenn das fixierte Backend ausfällt?
TR7 ADCs Gesundheitsüberwachung erkennt den Ausfall und entfernt das Backend aus dem vService. Bestehende Sitzungen, die an dieses Backend fixiert sind, werden zu einem gesunden weitergeleitet — der Benutzer muss sich möglicherweise erneut authentifizieren oder seinen Warenkorb aktualisieren, aber die Plattform leitet Traffic nicht ins Nirgendwo.
Kann ich Source-IP-Persistenz hinter einem Corporate NAT verwenden?
Source-IP funktioniert, wenn Client-IPs vielfältig sind — jeder Benutzer hat eine andere sichtbare IP. Hinter einem Shared NAT (Büro, Mobilfunkanbieter, CGNAT) erscheinen alle Benutzer mit derselben IP, und Source-IP würde sie alle an dasselbe Backend fixieren. Für NAT-lastigen Traffic bevorzugen Sie Cookie-basierte Persistenz (TR7-Cookie, SAM oder Backend-Cookie) oder einen Hash auf einen per-Benutzer-Header oder URL-Parameter.
Beeinflusst Session-Persistenz WebSocket- und HTTP/2-Verbindungen?
Langlebige Verbindungen (WebSocket, HTTP/2-Streams) bleiben auf dem Backend, mit dem sie ursprünglich verbunden wurden — sie sind für die Lebensdauer der Verbindung von Natur aus sticky. Persistenz wird relevant, wenn derselbe Benutzer eine neue Verbindung öffnet und auf demselben Backend wie zuvor landen muss.

Die Persistenzmethode an die Workload anpassen

Sehen Sie, wie 9 Persistenzmethoden jeden häufigen Fall abdecken — von RDP-Gateways bis Legacy-Apps bis SAM-gesteuerte Cookies.