Solution

Maintenez chaque session utilisateur sur le bon backend

9 méthodes de persistance, de la source-IP hash au SAM — le moteur de cookie configurable de TR7 avec 4 sources de cookie, 4 formats de session, 4 flags de sécurité

Paniers d'achat, tableaux de bord connectés, sessions bancaires, passerelles RDP — dès qu'un utilisateur commence un flux avec état, chaque requête suivante doit atterrir sur le même backend. La source-IP fonctionne jusqu'à ce que les utilisateurs se trouvent derrière un NAT. Les cookies simples fonctionnent jusqu'à ce qu'ils soient supprimés. TR7 ADC embarque 9 méthodes de persistance pour que la bonne soit toujours disponible — choisie par vService, sans compromis.

9
Méthodes de persistance de session embarquées
2 × 4 × 4
Combinaisons SAM : source cookie × format session × flag de sécurité
par vService
Méthode de persistance — modifiable en direct sans redémarrage

Quand l'équilibrage de charge casse les sessions

Le round-robin envoie chaque requête vers un backend différent — par conception. Pour les services sans état, c'est parfait. Mais dès qu'un utilisateur se connecte, remplit un panier, ou démarre un bureau à distance, l'application commence à conserver un état sur un backend spécifique. Si la requête suivante atterrit sur un autre, l'utilisateur voit un panier vide, un écran déconnecté ou une session RDP figée.

La persistance de session (ou « affinité ») résout ce problème en épinglant un utilisateur à un backend choisi pour la durée de la session. Le problème : il n'existe pas une seule bonne façon de faire l'épinglage. La source-IP fonctionne pour les utilisateurs avec des IP uniques, mais échoue derrière un NAT d'entreprise. Les cookies fonctionnent dans les navigateurs mais pas pour les TCP bruts. Le hash sur paramètre URL fonctionne pour les URL sans état mais pas pour les flux par utilisateur. Chaque méthode est juste dans un contexte.

La réponse est d'embarquer toutes les méthodes et de choisir par vService.

Choisissez la méthode de persistance, par vService

Chaque vService choisit sa méthode de persistance dans un menu déroulant — aux côtés de son algorithme d'équilibrage de charge. Les deux couches sont indépendantes : choisissez Fastest+ pour la sélection backend et un cookie TR7 pour l'affinité, ou round-robin avec source-IP, ou toute combinaison adaptée à la charge de travail. Le choix de méthode est hot-swap, sans redémarrage.

9 méthodes embarquées

Cinq algorithmes d'équilibrage de charge auto-persistants (source, URI, URL-param, header, RDP-cookie) plus quatre méthodes de persistance explicites (cookie TR7, cookie backend, dynamique, SAM). Couvrent tous les cas courants.

SAM — contrôle total du cookie

Session Affinity Manager vous permet de définir la source du cookie (généré par TR7 ou par le backend), le format de session (UUID, IP-timestamp-aléatoire, IP-aléatoire, personnalisé) et les flags de sécurité (HttpOnly, Secure, SameSite=Strict/Lax) — sans toucher au code backend.

Composable avec tout algorithme ADC

La persistance fonctionne au-dessus de l'algorithme d'équilibrage de charge : l'algorithme choisit le backend pour la première requête, la persistance épingle le reste. Fastest+ pour le démarrage à froid, cookie sticky pour la session — fonctionne ensemble.

Hot-swap (sans redémarrage)

Changez la méthode de persistance sur un vService en production et les nouvelles sessions adoptent immédiatement la nouvelle méthode. Les sessions épinglées existantes continuent sans perturbation jusqu'à leur expiration.

9 méthodes de persistance de session embarquées

Choisissez la méthode adaptée au protocole, à la population de clients et au modèle de session de l'application. Les 9 disponibles par vService — sans code, sans plugin.

Source-IP

La même IP client atterrit toujours sur le même backend. Simple, sans code, fonctionne pour tout protocole. Idéal quand les IP clients sont diversifiées — s'effondre derrière un NAT partagé ou un proxy d'entreprise.

Hash sur la longueur d'URI

Le hash sur la longueur d'URL distribue la charge par complexité d'URL tout en épinglant les URL identiques vers le même backend. Utile pour les scénarios d'affinité de cache.

Hash sur paramètre URL

Hash sur un paramètre de requête spécifique (ex. : ?user_id, ?session_token). Route la même requête par utilisateur vers le même backend sans nécessiter de cookies.

Hash sur header

Hash sur un header HTTP personnalisé. Utile quand l'appelant en amont injecte des ID de tenant ou de corrélation, ou pour le routage A/B basé sur les headers.

Cookie RDP

Lit le cookie de session RDP intégré dans la négociation de protocole. Requis pour les passerelles RDP et les fermes de bureau à distance — maintient les utilisateurs sur le même hôte RDP après reconnexion.

Cookie TR7

TR7 ADC génère et gère lui-même le cookie d'affinité — aucun code backend requis. L'opérateur définit le nom du cookie et un timeout d'inactivité maximal ; l'ADC le lit à chaque requête, le backend l'ignore. La persistance la plus facile à ajouter à une application legacy.

Cookie backend

Utilisez le cookie de session propre à l'application pour l'affinité — l'opérateur nomme le cookie (PHPSESSID, JSESSIONID, app-id, ou tout autre personnalisé) et TR7 ADC lit la valeur existante. Aucun nouveau cookie ajouté. Idéal quand l'application suit déjà les sessions et que vous ne voulez pas ajouter un deuxième cookie.

Persistance dynamique

Table de persistance par clé de hash maintenue en mémoire. Chaque entrée associe une clé — toute combinaison de headers de requête, cookies, IP source, ou paramètres URL — à un backend. L'opérateur définit la taille de la table (10K à 100M entrées, défaut 3M) et le temps d'expiration des entrées. À utiliser quand les règles de persistance doivent être plus flexibles qu'un seul cookie ou header fixe.

SAM — Session Affinity Manager

Le moteur de persistance avancé basé sur les cookies. Choisissez qui génère le cookie, le format de l'identifiant de session et les flags de sécurité — tout depuis l'UI, sans modification backend. Voir les détails ci-dessous.

SAM — Session Affinity Manager

SAM est la méthode de persistance la plus flexible de TR7. Là où un simple cookie épingle une session, SAM vous permet de contrôler chaque propriété de ce cookie depuis un menu déroulant — sans modification backend, sans écriture de code de règle.

01

Deux sources de cookie

Choisissez qui génère le cookie d'affinité : généré par TR7 (par défaut — sans implication backend) ou généré par le backend (utilise le cookie de session existant de l'application). Basculez entre les deux sans casser les sessions actives.

02

Quatre formats d'identifiant de session — dont un mode Custom entièrement ouvert

Options de format d'identifiant de session : UUID (128 bits aléatoires), IP-timestamp-aléatoire (traçable, ordonné dans le temps), IP-aléatoire (anonyme au sein d'un tenant), ou Custom. Le mode Custom ouvre la surface complète des variables de trafic — combinez tout header de requête, cookie, composant URL, info de session TLS, IP source (brute ou masquée), claims JWT, paramètres de requête, et même des champs du corps de requête avec des fonctions de transformation définies par l'opérateur (masquage, hachage, extraction de sous-chaîne, normalisation de casse, concaténation). Le même moteur de variables et de transformations pilote les clés de hash de la persistance dynamique. Consultez le focus ci-dessous pour des combinaisons réelles.

03

Quatre combinaisons de flags de sécurité

Flags de sécurité du cookie : HttpOnly (pas d'accès JavaScript — protection XSS), Secure (HTTPS uniquement), SameSite=Strict (pas d'envoi cross-site — protection CSRF), SameSite=Lax (variante orientée compatibilité). Combinez selon vos besoins.

04

Configurable par l'opérateur, sans code

Tout ce qui précède est un menu déroulant par vService dans le panneau SAM. Aucun code de règle personnalisé, aucune intégration backend, aucune règle WAAP séparée pour la gestion des cookies. SAM est une configuration, pas un script.

Flexibilité Format Custom & Hash

Au-delà des cookies et des IP — combinez toute variable de trafic

Le format Custom de SAM et les clés de hash de persistance dynamique acceptent toute variable de trafic vue par TR7 ADC — combinez-les, transformez-les, construisez la règle de persistance exacte dont votre application a besoin

Format Custom SAM — combinaisons réelles

ID de session TLS + IP source masquée /24 — maintenez les utilisateurs mobiles épinglés au même backend via la reprise TLS même lorsque leur IP change dans un sous-réseau opérateur (handoff entre tours cellulaires)
Claim JWT (après décodage) + header tenant — SaaS multi-tenant où les utilisateurs authentifiés de chaque tenant sont routés vers leur propre cluster backend dédié, décodé depuis le token lui-même
Fragment User-Agent + Accept-Language — séparez les cohortes desktop-EN des cohortes mobile-FR vers différents pools backend sans modification applicative
Nom de serveur SNI TLS + préfixe de chemin URL — hébergement multi-application SNI où le SNI détermine l'application, le préfixe de chemin détermine l'instance — un seul ADC, de nombreux tenants
Pays Geo-IP + premier segment URL — routage de contenu géographique qui est également structurellement conscient de quelle section du site est demandée

Persistance dynamique — clés de hash multi-variables

IP /24 + préfixe de chemin URL — affinité de cache géographique liée à la structure URL (CDN-friendly sans CDN)
Valeur de header + paramètre de requête en minuscules — routage multi-région insensible à la casse où ?user=Alice et ?user=alice atterrissent sur le même backend
Méthode HTTP + content-type — routez les POST HTTP/2 vers des backends optimisés pour les API et les GET HTTP/1.1 vers des backends d'assets statiques depuis un seul vService
Sous-chaîne de cookie + classe IP — correspondance partielle de pattern de cookie legacy lorsque l'application utilise des formes de cookie non standard
Hash de champ du corps de requête + header d'authentification — pour les API SOAP et legacy où l'identifiant de session se trouve dans le corps, pas dans les headers ou cookies

Fonctions de transformation sur toute variable

Masquage d'adresse IP — masquage /8, /16, /24, ou longueur de préfixe arbitraire pour le routage de sous-réseau au niveau cohorte
Extraction de sous-chaîne via regex — extraire un fragment spécifique d'un header, cookie ou URL (ex. : extraire uniquement le préfixe tenant-id d'un JWT plus long)
Normalisation de casse — minuscules ou majuscules avant le hachage pour un routage insensible à la casse entre clients mixtes
Hash cryptographique (MD5, SHA) — produire des identifiants de session opaques de longueur fixe à partir de variables source sensibles — les données sous-jacentes ne quittent jamais la plateforme
Concaténation de chaînes avec séparateurs définis par l'opérateur — combinez un nombre quelconque de variables avec des délimiteurs personnalisés pour des clés composées uniques

Quand la persistance est la plus importante

Paniers e-commerce et paiement

Les utilisateurs ajoutent des articles sur plusieurs chargements de page. Le cookie backend ou le cookie TR7 maintient l'état du panier sur un seul backend — le paiement ne voit jamais un panier vide.

Tableaux de bord authentifiés

Sessions connectées où le cache de permissions de l'utilisateur réside sur un seul backend. SAM avec cookie généré par TR7 + HttpOnly + Secure fonctionne sans modification du code backend.

Passerelles RDP et fermes de bureau à distance

Les sessions RDP doivent se reconnecter au même hôte. La persistance par cookie RDP lit l'identifiant de session natif au protocole — aucune configuration supplémentaire, aucune injection de cookie.

Applications legacy sans gestion de session

Les applications qui ne suivent pas elles-mêmes les sessions. La persistance source-IP ou par paramètre URL épingle les utilisateurs sans nécessiter de modification du code de l'application legacy.

Questions courantes

Dois-je choisir entre algorithme d'équilibrage de charge et persistance ?
Non — les deux couches fonctionnent indépendamment. L'algorithme d'équilibrage de charge choisit le backend pour la première requête d'une session ; la persistance épingle ensuite toutes les requêtes suivantes à ce backend jusqu'à la fin de la session. Utilisez tout algorithme (round-robin, Fastest+, etc.) avec toute méthode de persistance.
Quelle est la différence entre le cookie TR7 et SAM ?
Le cookie TR7 est un paramètre par défaut simple — TR7 ADC génère un cookie d'affinité opaque, définit des valeurs par défaut sensées et épingle les sessions. SAM est la même idée mais avec un contrôle opérateur sur chaque propriété du cookie : source, format de l'identifiant de session, flags de sécurité. Utilisez le cookie TR7 pour le cas courant ; utilisez SAM lorsque vous avez besoin d'un contrôle fin sans modification backend.
Que se passe-t-il lorsque le backend épinglé tombe en panne ?
Le monitoring de santé de TR7 ADC détecte la panne et retire le backend du vService. Les sessions existantes épinglées à ce backend sont reroutées vers un backend sain — l'utilisateur devra peut-être se ré-authentifier ou rafraîchir son panier, mais la plateforme ne blackhole pas le trafic.
Puis-je utiliser la persistance source-IP derrière un NAT d'entreprise ?
La source-IP fonctionne lorsque les IP clients sont diversifiées — chaque utilisateur a une IP visible différente. Derrière un NAT partagé (bureau d'entreprise, opérateur mobile, CGNAT), tous les utilisateurs apparaissent avec la même IP, et la source-IP les épinglerait tous au même backend. Pour le trafic à NAT intense, préférez la persistance basée sur les cookies (cookie TR7, SAM ou cookie backend) ou un hash sur un header ou paramètre URL par utilisateur.
La persistance de session affecte-t-elle les connexions WebSocket et HTTP/2 ?
Les connexions de longue durée (WebSocket, flux HTTP/2) restent sur le backend auquel elles se sont connectées à l'origine — elles sont naturellement sticky pour la durée de la connexion. La persistance devient pertinente lorsque le même utilisateur ouvre une nouvelle connexion et doit atterrir sur le même backend qu'auparavant.

Adaptez la méthode de persistance à votre charge de travail

Découvrez comment 9 méthodes de persistance couvrent tous les cas courants — des passerelles RDP aux applications legacy en passant par les cookies gérés par SAM.