Solución

Mantenga cada sesión de usuario en el backend correcto

9 métodos de persistencia, desde source-IP hashing hasta SAM — el motor de cookies configurable de TR7 con 4 fuentes de cookies, 4 formatos de sesión y 4 indicadores de seguridad

Carritos de compra, paneles con sesión iniciada, sesiones bancarias, gateways RDP — en cuanto un usuario inicia un flujo con estado, cada solicitud siguiente debe llegar al mismo backend. Source-IP funciona hasta que los usuarios se sitúan detrás de NAT. Las cookies simples funcionan hasta que se eliminan. TR7 ADC incluye 9 métodos de persistencia para que el correcto esté siempre disponible — seleccionado por vService, sin compromisos.

9
Métodos de persistencia de sesión incluidos
2 × 4 × 4
Combinaciones SAM de fuente de cookie × formato de sesión × indicador de seguridad
por vService
Método de persistencia — cambia en vivo sin reinicio

Cuándo el balanceo de carga rompe las sesiones

Round-robin envía cada solicitud a un backend diferente — por diseño. Para servicios sin estado es perfecto. Pero en el momento en que un usuario inicia sesión, llena un carrito o inicia un escritorio remoto, la aplicación empieza a mantener estado en un backend específico. Si la solicitud #2 llega a uno diferente, el usuario ve un carrito vacío, una pantalla de cierre de sesión o una sesión RDP congelada.

La persistencia de sesión (o «afinidad») resuelve esto anclando a un usuario al backend elegido durante la duración de la sesión. La dificultad: no existe una única forma correcta de anclar. Source-IP funciona para usuarios con IP única pero falla detrás de NAT corporativo. Las cookies funcionan en navegadores pero no para TCP raw. URL-parameter hash funciona para URLs sin estado pero no para flujos con ámbito de usuario. Cada método es correcto en algún lugar.

La respuesta es incluir cada método y seleccionar por vService.

Seleccione el método de persistencia por vService

Cada vService selecciona su método de persistencia desde un desplegable — junto a su algoritmo de balanceo de carga. Ambas capas son independientes: elija Fastest+ para la selección de backend y una cookie TR7 para afinidad, o round-robin con source-IP, o la combinación que se adapte a la carga de trabajo. El cambio de método es hot-swap, sin reinicio.

9 métodos incluidos

Cinco algoritmos de balanceo de carga auto-persistentes (source, URI, URL-param, cabecera, RDP-cookie) más cuatro métodos de persistencia explícitos (cookie TR7, cookie del backend, dinámica, SAM). Cubren todos los casos comunes.

SAM — control total de cookies

Session Affinity Manager le permite configurar la fuente de la cookie (generada por TR7 o por el backend), el formato de sesión (UUID, IP-timestamp-random, IP-random, personalizado) y los indicadores de seguridad (HttpOnly, Secure, SameSite=Strict/Lax) — sin tocar el código del backend.

Combinable con cualquier algoritmo ADC

La persistencia se ejecuta sobre el algoritmo de balanceo de carga: el algoritmo elige el backend para la primera solicitud, la persistencia ancla el resto. Fastest+ para el arranque en frío, cookie sticky para la sesión — funciona conjuntamente.

Hot-swap (sin reinicio)

Cambie el método de persistencia en un vService activo y las nuevas sesiones adoptan el nuevo método de inmediato. Las sesiones ancladas existentes continúan sin interrupción hasta que expiran.

9 métodos de persistencia de sesión incluidos

Elija el método que se adapta al protocolo, la población de clientes y el modelo de sesión de la aplicación. Los 9 están disponibles por vService — sin código, sin plugins.

Source-IP

La misma IP de cliente siempre llega al mismo backend. Simple, sin código, funciona para cualquier protocolo. Ideal cuando las IPs de cliente son diversas — falla detrás de NAT compartido o proxies corporativos.

URI-length hash

El hash sobre la longitud de URL distribuye la carga por complejidad de URL mientras ancla las URLs idénticas al mismo backend. Útil para escenarios de afinidad de caché.

URL-parameter hash

Hash sobre un parámetro de consulta específico (p. ej. ?user_id, ?session_token). Enruta la misma solicitud con ámbito de usuario al mismo backend sin necesidad de cookies.

Header hash

Hash sobre una cabecera HTTP personalizada. Útil cuando el llamante upstream inyecta IDs de tenant o correlación, o para enrutamiento A/B basado en cabeceras.

RDP cookie

Lee la cookie de sesión RDP integrada en la negociación del protocolo. Necesaria para gateways RDP y granjas de escritorio remoto — mantiene a los usuarios en el mismo host RDP tras la reconexión.

TR7 cookie

TR7 ADC genera y gestiona la cookie de afinidad por sí mismo — no se requiere código del backend. El operador establece el nombre de la cookie y un timeout de inactividad máximo; el ADC la lee en cada solicitud, el backend la ignora. La persistencia más fácil de adjuntar a una aplicación legacy.

Backend cookie

Use la cookie de sesión propia de la aplicación para la afinidad — el operador nombra la cookie (PHPSESSID, JSESSIONID, app-id, cualquier nombre personalizado) y TR7 ADC lee el valor existente. No se añaden nuevas cookies. Correcto cuando la aplicación ya hace seguimiento de sesiones y no desea añadir una segunda capa de cookies.

Persistencia dinámica

Tabla de persistencia por clave hash mantenida en memoria. Cada entrada mapea una clave — cualquier combinación de cabeceras de solicitud, cookies, source IP o parámetros URL — a un backend. El operador establece el tamaño de la tabla (10K a 100M entradas, predeterminado 3M) y el tiempo de expiración de entrada. Úselo cuando las reglas de persistencia necesiten ser más flexibles que una cookie o cabecera fija única.

SAM — Session Affinity Manager

El motor de persistencia avanzado basado en cookies. Elija quién genera la cookie, el formato del ID de sesión y los indicadores de seguridad — todo desde la UI, sin cambios en el backend. Vea los detalles más abajo.

SAM — Session Affinity Manager

SAM es el método de persistencia más flexible de TR7. Donde una cookie simple ancla una sesión, SAM le permite controlar cada propiedad de esa cookie desde un desplegable — sin cambios en el backend, sin escribir código de reglas.

01

Dos fuentes de cookie

Elija quién genera la cookie de afinidad: generada por TR7 (predeterminado — sin participación del backend) o generada por el backend (use la cookie de sesión existente de la aplicación). Cambie entre ellas sin romper las sesiones activas.

02

Cuatro formatos de ID de sesión — incluido un modo Personalizado de amplio alcance

Opciones de formato del identificador de sesión: UUID (128 bits aleatorio), IP-timestamp-random (rastreable, ordenado por tiempo), IP-random (anónimo dentro de un tenant) o Personalizado. El modo Personalizado abre la superficie completa de variables de tráfico — combine cualquier cabecera de solicitud, cookie, componente URL, información de sesión TLS, source IP (en bruto o enmascarada), claims JWT, parámetros de consulta e incluso campos del cuerpo de la solicitud con funciones de transformación definidas por el operador (enmascaramiento, hashing, extracción de subcadenas, normalización de mayúsculas/minúsculas, concatenación). El mismo motor de variable-y-transformación impulsa las claves hash de la persistencia Dinámica. Vea el spotlight más abajo para combinaciones del mundo real.

03

Cuatro combinaciones de indicadores de seguridad

Indicadores de seguridad de cookies: HttpOnly (sin acceso JavaScript — protección XSS), Secure (solo HTTPS), SameSite=Strict (sin envío entre sitios — protección CSRF), SameSite=Lax (variante compatible). Combínelos según sea necesario.

04

Configurable por el operador, sin código

Todo lo anterior es un desplegable por vService en el panel SAM. Sin código de reglas personalizado, sin integración con el backend, sin regla WAAP separada para el manejo de cookies. SAM es una configuración, no un script.

Flexibilidad de Formato Personalizado y Hash

Más allá de las cookies y la IP — combine cualquier variable de tráfico

El Formato Personalizado SAM y las claves hash de persistencia Dinámica aceptan cada variable de tráfico que TR7 ADC ve — combínelas, transfórmelas, construya la regla de persistencia exacta que su aplicación necesita

Formato Personalizado SAM — combinaciones del mundo real

ID de sesión TLS + source IP /24 enmascarada — mantiene a los usuarios móviles anclados al mismo backend a través de la resumption TLS incluso cuando su IP cambia dentro de una subred del operador (traspaso de torre de telefonía)
Claim JWT (tras decodificación) + cabecera de tenant — SaaS multi-tenant donde los usuarios autenticados de cada tenant enrutan a su propio cluster backend dedicado, decodificado desde el token
Fragmento de User-Agent + Accept-Language — separe cohortes desktop-EN de cohortes mobile-TR en pools backend diferentes sin cambios en la aplicación
Nombre de servidor TLS SNI + prefijo de ruta URL — hosting SNI multi-aplicación donde el SNI determina qué aplicación, el prefijo de ruta determina qué instancia — un ADC, muchos tenants
País Geo-IP + primer segmento URL — enrutamiento geográfico de contenido que también es consciente estructuralmente de qué sección del sitio se está solicitando

Persistencia dinámica — claves hash con múltiples variables

IP /24 + prefijo de ruta URL — afinidad de caché geográfica vinculada a la estructura URL (compatible con CDN sin un CDN)
Valor de cabecera + parámetro de consulta en minúsculas — enrutamiento multi-región sin distinción de mayúsculas donde ?user=Alice y ?user=alice llegan al mismo backend
Método HTTP + content-type — enrute HTTP/2 POSTs a backends optimizados para API y HTTP/1.1 GETs a backends de activos estáticos desde un único vService
Subcadena de cookie + clase IP — coincidencia parcial de patrones de cookies legacy cuando la aplicación usa formas de cookies no estándar
Hash de campo del cuerpo de solicitud + cabecera de autenticación — para APIs SOAP y legacy donde el identificador de sesión vive en el cuerpo, no en cabeceras o cookies

Funciones de transformación sobre cualquier variable

Enmascaramiento de dirección IP — enmascaramiento de prefijo /8, /16, /24 o longitud de prefijo arbitraria para enrutamiento de subred a nivel de cohorte
Extracción de subcadenas mediante regex — extraiga un fragmento específico de una cabecera, cookie o URL (p. ej. extraiga solo el prefijo tenant-id de un JWT más largo)
Normalización de mayúsculas/minúsculas — a minúsculas o mayúsculas antes del hashing para enrutamiento sin distinción de mayúsculas entre clientes mixtos
Hash criptográfico (MD5, SHA) — produzca IDs de sesión opacos de longitud fija a partir de variables fuente sensibles — los datos subyacentes nunca salen de la plataforma
Concatenación de cadenas con separadores definidos por el operador — combine cualquier número de variables con delimitadores personalizados para claves compuestas únicas

Cuándo importa más la persistencia

Carritos y checkout de e-commerce

Los usuarios añaden artículos a través de múltiples cargas de página. La cookie del backend o la cookie TR7 mantiene el estado del carrito en un backend — el checkout nunca ve un carrito vacío.

Paneles autenticados

Sesiones con sesión iniciada donde la caché de permisos del usuario vive en un backend. SAM con cookie generada por TR7 + HttpOnly + Secure funciona sin cambios en el código del backend.

Gateways RDP y granjas de escritorio remoto

Las sesiones RDP deben reconectarse al mismo host. La persistencia por cookie RDP lee el ID de sesión nativo del protocolo — sin configuración adicional, sin inyección de cookies.

Aplicaciones legacy sin gestión de sesiones

Aplicaciones que no hacen seguimiento de sesiones por sí mismas. La persistencia source-IP o por parámetro URL ancla a los usuarios sin requerir cambios de código en la aplicación legacy.

Preguntas comunes

¿Tengo que elegir entre el algoritmo de balanceo de carga y la persistencia?
No — ambas capas se ejecutan de forma independiente. El algoritmo de balanceo de carga elige el backend para la primera solicitud en una sesión; la persistencia ancla entonces todas las solicitudes de seguimiento a ese backend hasta que la sesión termina. Use cualquier algoritmo (round-robin, Fastest+, etc.) con cualquier método de persistencia.
¿Cuál es la diferencia entre la cookie TR7 y SAM?
La cookie TR7 es un valor predeterminado simple — TR7 ADC genera una cookie de afinidad opaca, establece valores predeterminados razonables y ancla las sesiones. SAM es la misma idea pero con control del operador sobre cada propiedad de la cookie: fuente, formato del ID de sesión, indicadores de seguridad. Use la cookie TR7 para el caso común; use SAM cuando necesite control granular sin cambios en el backend.
¿Qué sucede cuando el backend anclado falla?
La monitorización de salud de TR7 ADC detecta el fallo y elimina el backend del vService. Las sesiones existentes ancladas a ese backend se redirigen a uno sano — el usuario puede necesitar volver a autenticarse o actualizar su carrito, pero la plataforma no envía el tráfico a un agujero negro.
¿Puedo usar la persistencia source-IP detrás de un NAT corporativo?
Source-IP funciona cuando las IPs de cliente son diversas — cada usuario tiene una IP visible diferente. Detrás de un NAT compartido (oficina corporativa, operador móvil, CGNAT) todos los usuarios aparecen con la misma IP, y source-IP los anclaría todos al mismo backend. Para el tráfico con mucho NAT, prefiera la persistencia basada en cookies (cookie TR7, SAM o cookie del backend) o un hash sobre una cabecera o parámetro URL por usuario.
¿La persistencia de sesión afecta a las conexiones WebSocket y HTTP/2?
Las conexiones de larga duración (WebSocket, streams HTTP/2) permanecen en el backend al que se conectaron originalmente — son naturalmente sticky durante el tiempo de vida de la conexión. La persistencia se vuelve relevante cuando el mismo usuario abre una nueva conexión y necesita llegar al mismo backend que antes.

Adapte el método de persistencia a su carga de trabajo

Vea cómo 9 métodos de persistencia cubren todos los casos comunes — desde gateways RDP hasta aplicaciones legacy y cookies controladas por SAM.