El almacenamiento de sesiones es una de las piedras angulares de una aplicación web escalable. Couchbase Server es una opción de almacenamiento de sesiones eficiente, escalable y flexible. Más allá de simplemente almacenar y recuperar sesiones rápidamente, Couchbase Server también proporciona herramientas para explorar y extraer datos de sesión para obtener información valiosa. También hay proyectos de código abierto para integrar más fácilmente Couchbase con el framework web de tu elección. Así que, si estás construyendo aplicaciones web y necesitas un almacén de sesiones escalable, sigue leyendo, porque acabamos de publicar un tutorial que te ayudará a Introducción al almacenamiento de sesiones ASP.NET.
Nota al margen: el equipo de documentación de Couchbase ha estado trabajando duro para crear una nueva herramienta de búsqueda "sección "tutoriales. Es de código abierto, tiene una pinta estupenda y estoy muy ilusionado. No pierdas de vista esa página, porque este año habrá muchos más tutoriales.
Almacenamiento de la sesión
Cuando un usuario se conecta o visita un sitio web, inicia una "sesión". La sesión y el usuario se correlacionan mediante la entrega de una cookie al navegador web del usuario con un valor de búsqueda que corresponde directamente al almacenamiento de la sesión en el lado del servidor. ASP.NET y ASP.NET Core suelen almacenar estos datos en la memoria del servidor web.
Para sitios pequeños y/o despliegues de un solo servidor, podría estar bien. Para despliegues más grandes, podría ser problemático por al menos dos razones:
- Si el servidor web se cae o se reinicia, esa información de sesión se borra.
- Las "sesiones pegajosas" significan que un usuario está "pegado" a un único servidor, lo que puede provocar cargas desequilibradas con el tiempo.
Otro enfoque consiste en almacenar los datos de sesión por separado de los servidores web.
Granja web y arquitectura de almacenamiento de sesiones
Una granja web se situará detrás de un "equilibrador de carga". Este equilibrador de carga dirigirá las solicitudes a los servidores ASP.NET disponibles. Si los datos de sesión viven en otro lugar, el equilibrador de carga es libre de elegir cualquier servidor para dirigir la solicitud.
Explorar los datos de la sesión
Hay muchas opciones de herramientas para soportar el almacenamiento de sesiones, pero Couchbase Server ofrece algunas capacidades únicas:
Almacenamiento primero en memoria (o sólo en memoria). Una vez que se inicia una Sesión, a menudo se lee o escribe en cada petición de página. Con Couchbase, puedes leer/escribir datos a la velocidad de la memoria.
Facilidad de escalado. La arquitectura "nada compartido" de Couchbase significa que escalar no es complicado. No hay un único nodo "maestro" que limite las operaciones.
Conocimiento de los datos. El lenguaje de consulta N1QL de Couchbase, así como el nuevo servicio Analytics, te facilitan el análisis agregado de los datos de sesión de tu empresa. Puedes hacerlo utilizando el conocido lenguaje SQL. He aquí un ejemplo del tutorial de almacenamiento de sesiones de una consulta N1QL para encontrar los artículos más comunes introducidos en un carro de la compra:
1 2 3 4 5 6 7 8 |
SELECCIONE i.NombreArtículo, SUM(i.Cantidad) AS totalCantidad DESDE almacén de sesiones s UNNEST BASE64_DECODE(s.carro de la compra).Artículos i DONDE s.carro de la compra IS NO FALTA GRUPO POR i.NombreArtículo PEDIR POR SUM(i.Cantidad) DESC |
Próximos pasos
Si es usted un desarrollador .NET, puede seguir con el tutorial completo de almacenamiento de sesiones ahora mismo. Si utilizas otros frameworks o lenguajes, ¡pronto habrá tutoriales sobre almacenamiento de sesiones!
Si tienes alguna pregunta o comentario sobre este tutorial de gestión de sesiones ASP.NET, puedes encontrarme en Twitter @mgroves. Como todo en la documentación de Couchbase, este tutorial es de código abierto y pull requests para mejoras ¡son bienvenidos!