¿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?

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)


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.


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.


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).


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.


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)


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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.