¿Qué es la persistencia de sesión?

La persistencia de sesión se refiere a dirigir las peticiones de un cliente al mismo servidor web o de aplicaciones back-end durante la duración de una «sesión» o el tiempo que se tarda en completar una tarea o transacción.

Los sitios web de alto tráfico deben soportar cientos de miles, si no millones, de usuarios de forma rápida y fiable. Las organizaciones de TI soportan estos grandes volúmenes agrupando servidores en lo que suele denominarse una granja de servidores. Un equilibrador de carga se sitúa delante del grupo de servidores y dirige el tráfico a los servidores individuales de forma que se maximice la eficiencia.

Si un usuario navega por su sitio web durante cinco minutos, probablemente obtenga información de varios servidores back-end. No acceder siempre al mismo servidor puede causar problemas si el navegador web o el servidor back-end intentan mejorar la experiencia web almacenando información que permita que la siguiente acción del usuario se produzca más rápidamente. En este caso, es importante —por no decir imperativo— que todas las peticiones del usuario se envíen al mismo servidor.

Para aumentar el rendimiento, un servidor back-end puede almacenar en caché datos que un usuario ha solicitado, así como almacenar en caché información adicional que cree que un usuario podría solicitar. A menudo, lo que al usuario le parece una única solicitud, como la descarga de un documento de gran tamaño, en realidad se descompone y transmite entre el cliente y el servidor como múltiples transacciones de solicitud-respuesta. La forma más eficiente de entregar la información al usuario es acceder directamente al servidor que ya tiene los datos almacenados en caché.

En otros casos, un usuario puede participar en una transacción que requiera varios pasos, como rellenar un formulario, comprar un producto o actualizar su cuenta. A medida que el cliente y el servidor intercambian datos, necesitan almacenar información de estado sobre la sesión (denominada contexto) para que la transacción se desarrolle sin problemas. En este caso, la persistencia de la sesión facilita enormemente que las transacciones se completen con éxito.

Un equilibrador de carga o controlador de entrega de aplicaciones (ADC) se sitúa delante del grupo de servidores e implementa la lógica que vincula una sesión de usuario a un servidor específico durante el tiempo que sea necesario.

¿Cómo puede ayudar NGINX Plus?

NGINX Plus y NGINX son las mejores soluciones de equilibrio de carga de su clase utilizadas por sitios web de alto tráfico como Dropbox, Netflix y Zynga. Más de 350 millones de sitios web de todo el mundo confían en NGINX Plus y NGINX Open Source para ofrecer sus contenidos de forma rápida, fiable y segura.

Como equilibrador de carga basado en software, NGINX Plus es considerablemente menos costoso que las soluciones de hardware con capacidades similares. NGINX gestiona de forma nativa la persistencia de la sesión de varias maneras, incluyendo el uso de cookies y rutas fijas.