¿Diferencia entre afinidad de sesión y sesión pegajosa?

126

¿Cuál es la diferencia entre la afinidad de sesión y la sesión fija en el contexto de servidores de equilibrio de carga?

usuario32262
fuente

Respuestas:

82

He visto que esos términos se usan indistintamente, pero hay diferentes formas de implementarlo:

  1. Envíe una cookie en la primera respuesta y luego búsquela en las siguientes. La cookie dice a qué servidor real enviar.
    Malo si tiene que soportar navegadores sin cookies
  2. Partición basada en la dirección IP del solicitante.
    Malo si no es estático o si muchos entran a través del mismo proxy.
  3. Si autentica a los usuarios, particione según el nombre de usuario (para hacerlo, debe ser un modo de autenticación compatible con HTTP).
  4. No requiere estado.
    Permita que los clientes accedan a cualquier servidor (envíe el estado al cliente y pídales que lo devuelvan)
    Esta no es una sesión fija, es una forma de evitar tener que hacerlo.

Sospecharía que pegajoso podría referirse a la forma de las cookies, y que la afinidad podría referirse a # 2 y # 3 en algunos contextos, pero no es así como lo he visto usar (o usarlo yo mismo)

Lou Franco
fuente
66
Si una solicitud está vinculada a un servidor físico, ¿qué sucede si ese servidor falla? ¿Existe una estrategia para usar la cookie para contener un servidor de conmutación por error?
raffian
2
Si el servidor falla, la aplicación falla; tal vez necesite iniciar sesión nuevamente. Tal vez has perdido datos. Por lo general, el equilibrador de carga elige otro servidor y usted continúa, pero se pierde algún estado. Si esto es inaceptable, entonces necesita llevar el estado a la base de datos u otros servidores lo más rápido posible o tener una estrategia sin estado.
Lou Franco
FWIW Heroku se refiere a ellos como lo contrario. Session Afifinity está basado en cookies, y no es compatible con sticky. devcenter.heroku.com/articles/session-affinity
RandallB
39

Como siempre he escuchado los términos utilizados en un escenario de equilibrio de carga, son intercambiables. Ambos significan que una vez que se inicia una sesión, el mismo servidor atiende todas las solicitudes para esa sesión.

Jonathan Rupp
fuente
21

La sesión fija significa que cuando una solicitud llega a un sitio desde un cliente, todas las solicitudes adicionales van a la misma solicitud de cliente inicial del servidor accedida. Creo que la afinidad de sesión es sinónimo de sesión fija.

kemiller2002
fuente
13

Ellos son iguales.

Ambos significan que al ingresar al equilibrador de carga, la solicitud se dirigirá al servidor que atendió la primera solicitud (y tiene la sesión).

Justin Niessner
fuente
11

La sesión fija significa enrutar las solicitudes de una sesión particular a la misma máquina física que atendió la primera solicitud de esa sesión.

Manoj
fuente
3

Este artículo me aclara la pregunta y analiza otros tipos de persistencia del equilibrador de carga.

Los pensamientos de Dave: persistencia del equilibrador de carga (sesiones fijas)

John S.
fuente
66
Aparentemente ya no está disponible, pero hay una copia en la máquina Wayback
Martin McNulty
12
Es por eso que no solo publicas enlaces sin una explicación
Juan Mendes
Se descubrió que el contenido del enlace anterior (ya no está disponible ahora) se ha movido a archive.li/SG4fA Básicamente enumera los diversos tipos de persistencia admitidos por el equilibrador de carga F5.
aveek
0

Son sinónimos. No hay diferencia en absoluto

Sesión fija / Afinidad de sesión:

Afinidad / Adherencia / Contacto entre la sesión del usuario y, se retiene el servidor al que se envía la solicitud del usuario.

Sateesh
fuente