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 con mucho tráfico deben soportar cientos de miles, si no millones, de usuarios de manera rápida y confiable. Las organizaciones de TI respaldan estos grandes volúmenes agrupando los servidores en lo que a menudo se denomina una granja de servidores . Un equilibrador de carga se ubica frente al grupo de servidores y dirige el tráfico a servidores individuales de manera tal que maximiza 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 podría realizar una transacción que requiere múltiples pasos, como completar 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 realice sin problemas. En este caso, la persistencia de la sesión hace que sea mucho más fácil 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.
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 en todo el mundo confían en NGINX Plus y NGINX Open Source para entregar su contenido de manera rápida, confiable y segura.
Como equilibrador de carga basado en software, NGINX Plus es considerablemente menos costoso que las soluciones de hardware con capacidades similares. NGINX administra de forma nativa la persistencia de la sesión de varias maneras, incluido el uso de cookies y rutas persistentes.