Sesiones pegajosas y NO pegajosas


Quiero saber la diferencia entre las sesiones pegajosas y no pegajosas. Lo que entendí después de leer en Internet:

Sticky : solo un objeto de sesión estará allí.

Sesión no pegajosa : objeto de sesión para cada nodo del servidor

 165
Author: kryger, 2012-05-08

2 answers

Cuando su sitio web es servido por un solo servidor web, para cada par cliente-servidor, se crea un objeto de sesión que permanece en la memoria del servidor web. Todas las solicitudes del cliente van a este servidor web y actualizan este objeto de sesión. Si es necesario almacenar algunos datos en el objeto de sesión durante el período de interacción, se almacenan en este objeto de sesión y permanecen allí mientras exista la sesión.

Sin embargo, si su sitio web es servido por varios servidores web que se sientan detrás de un equilibrador de carga, el equilibrador de carga decide a qué servidor web real (físico) debe ir cada solicitud. Por ejemplo, si hay 3 servidores web A, B y C detrás del balanceador de carga, es posible que www.mywebsite.com/index.jsp se sirve desde el servidor A, www.mywebsite.com/login.jsp se sirve desde el servidor B y www.mywebsite.com/accoutdetails.php se sirven desde el servidor C.

Ahora, si las solicitudes se están sirviendo desde (físicamente) 3 servidores diferentes, cada servidor ha creado un objeto de sesión para usted y debido a que estos objetos de sesión se encuentran en tres cuadros independientes, no hay forma directa de que uno sepa lo que hay en el objeto de sesión del otro. Para sincronizar entre estas sesiones del servidor, es posible que tenga que escribir / leer los datos de la sesión en una capa que es común a todos, como una BD. Ahora escribir y leer datos a / desde una base de datos para este caso de uso puede no ser una buena idea. Ahora, aquí viene el rol de sticky-session .

Si el balanceador de carga es instruido para usar sesiones adhesivas, todas sus interacciones sucederán con el mismo servidor físico, a pesar de que otros servidores estén presentes. Por lo tanto, su objeto de sesión será el mismo a lo largo de toda su interacción con este sitio web.

Para resumir, en el caso de Sesiones Adhesivas, todas sus solicitudes se dirigirán al mismo servidor web físico, mientras que en el caso de un loadbalancer no pegajoso puede elegir cualquier servidor web para servir sus solicitudes.

Como ejemplo, puede leer sobre Las sesiones Elastic Load Balancer y sticky de Amazon aquí: http://aws.typepad.com/aws/2010/04/new-elastic-load-balancing-feature-sticky-sessions.html

 472
Author: TJ-,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-06 08:40:44

He hecho una respuesta con algunos detalles más aquí : https://stackoverflow.com/a/11045462/592477

O puedes leerlo allí = = >

Cuando utiliza loadbalancing significa que tiene varias instancias de tomcat y necesita dividir las cargas.

  • Si está utilizando la replicación de sesiones sin sesión pegajosa : Imagine que solo tiene un usuario usando su aplicación web, y tiene 3 instancias de tomcat. Este usuario envía varias solicitudes a tu app, luego el loadbalancer enviará algunas de estas solicitudes al primer tomcat instance, and send some other of these requests to the secondth instancia, y otra a la tercera.
  • Si está utilizando sticky session sin replicación : Imagine que solo tiene un usuario usando su aplicación web y tiene 3 tomcat instancia. Este usuario envía varias solicitudes a su aplicación, luego el loadbalancer enviará la primera solicitud de usuario a uno de los tres tomcat, y todas las demás solicitudes que son enviados por este el usuario durante su sesión será enviado a la misma instancia de tomcat. Durante estas solicitudes, si apaga o reinicia este tomcat instancia (instancia tomcat que se utiliza) el loadbalancer envía el solicitudes restantes a otra instancia de tomcat que aún está en ejecución, PERO como no utiliza la replicación de sesión, la instancia tomcat que recibe las solicitudes restantes no tiene una copia de la sesión de usuario entonces para este tomcat el usuario comienza una sesión: el usuario pierde su sesión y está desconectado de la aplicación web aunque la aplicación web todavía se está ejecutando.
  • Si está utilizando sticky session CON replicación de sesiones : Imagine que solo tiene un usuario usando su aplicación web y tiene 3 tomcat instancia. Este usuario envía varias solicitudes a su aplicación, luego el loadbalancer enviará la primera solicitud de usuario a uno de los tres tomcat, y todas las demás solicitudes que son enviadas por este el usuario durante su sesión será enviado al mismo tomcat instancia. Durante estas solicitudes, si apaga o reinicia este tomcat instancia (instancia tomcat que se utiliza) el loadbalancer envía el solicitudes restantes a otra instancia de tomcat que aún está ejecutar, al usar la replicación de sesión, la instancia tomcat que recibe las solicitudes restantes tiene una copia de la sesión de usuario a continuación el usuario mantiene su sesión: el usuario continúa navegando por su web aplicación sin ser desconectado, el apagado de la instancia de tomcat no afecta al usuario navegación.
 53
Author: Nico,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 10:31:37