Proveedor de estado de sesión de ASP.NET para NCache en granjas web

Para implementaciones locales, ASP.NET Session State ofrece tres opciones de almacenamiento integradas (InProc, StateServer y SqlServer) y una cuarta opción "Personalizada". Las dos primeras opciones integradas (InProc StateServer) presentan problemas de escalabilidad, mientras que SqlServer presenta problemas de rendimiento y escalabilidad.

Una estrategia mucho mejor es usar la opción "Personalizada" y el complemento NCache como su Proveedor de estado de sesión de ASP.NET. NCache es un caché distribuido de código abierto extremadamente rápido y escalable para .NET. Maneja la carga extrema de transacciones al permitirle agregar más servidores de caché en tiempo de ejecución y escalar linealmente. NCache También proporciona inteligencia replicación de caché para que no pierda ningún estado de sesión ASP.NET si un servidor web o un servidor de caché deja de funcionar.

Diagrama de arquitectura de NCache Proveedor de estado de sesión ASP.NET en un entorno de granja web que muestra un nivel de servidor web sin estado conectado a un clúster de caché dinámico escalable linealmente.
NCache Arquitectura de sesión distribuida para granjas web ASP.NET.

Beneficios de la Cirugía de NCache Proveedor de estado de sesión de ASP.NET

Poner en marcha NCache Como su proveedor de estado de sesión (SSP) no requiere cambios de código, simplemente siga estos pasos:

  1. Instale <font dir="auto" style="vertical-align: inherit;">las </font> NCache Proveedor de sesión Paquete NuGet a través del Administrador de paquetes NuGet.
  2. Configurar su archivo web.config para utilizar el modo de sesión "Personalizado".
  3. Especificar su NCache Nombre del clúster y configuración en la configuración del proveedor.

Ver detalles sobre la configuración Proveedor de estado de sesión de ASP.NET por la NCacheA continuación se presentan algunos de los beneficios de usar NCache como su proveedor de estado de sesión de ASP.NET:

  1. Alta disponibilidad:NCache tiene un Arquitectura de agrupación en clústeres de igual a igual con recuperación automática Sin un solo punto de fallo. Esto proporciona un 100 % de disponibilidad para el almacenamiento del estado de sesión de ASP.NET, lo cual es fundamental para las aplicaciones críticas para el negocio. Estas características de alta disponibilidad hacen... NCache la opción preferida para aplicaciones de misión crítica en comercio electrónico, servicios financieros y atención médica, donde la persistencia de la sesión es vital para la integridad de las transacciones.
  2. Escalabilidad lineal:NCache le permite escala tu clúster de caché linealmente agregando más servidores de caché al clúster. Esto aumenta su capacidad de transacción y también su capacidad de almacenamiento. Esto significa que el almacenamiento de estado de sesión ASP.NET nunca se convierte en un cuello de botella para su aplicación bajo cargas de transacciones pesadas.
  3. Replicación inteligente de sesiones:NCache Proporciona topologías de almacenamiento en caché enriquecidas (Caché reflejada, Caché replicado, y Caché de réplica de partición) con replicación inteligente de sesiones que no compromete el rendimiento ni la escalabilidad. Esto garantiza que no se pierdan datos de sesión cuando un servidor web o un servidor de caché falla.
  4. Serialización compacta rápida:NCache proporciona una Serialización compacta Esto es más rápido que una serialización .NET normal y no requiere programación. Simplemente registre sus clases .NET con él y... NCache Genera y compila automáticamente el código de serialización en tiempo de ejecución para un uso eficiente.

¿Cómo administrar sesiones ASP.NET en múltiples regiones (centros de datos)?

NCache Ofrece dos maneras de administrar el estado de sesión de ASP.NET para aplicaciones que se ejecutan en varias regiones (centros de datos) y mantienen la coherencia de la sesión entre ellas. Son las siguientes:

  1. Replicación WAN del estado de sesión de ASP.NET: NCache proporciona una Topología de puente para permitirle replicar todo su almacén de estado de sesión ASP.NET (la caché distribuida) a otra región (centro de datos) en todo el mundo. WANEsto garantiza que sus sesiones siempre existan en varias regiones (centros de datos). Puede usarlo en modo activo-pasivo (para recuperación ante desastres) o activo-activo. En modo activo-activo, incluso puede equilibrar la carga del tráfico entre varias regiones (centros de datos). Todo esto se realiza mediante cambios de configuración.

  2. Estado de sesión de ASP.NET de múltiples regiones: Si no desea replicar el estado de la sesión ASP.NET en la WAN debido al costo de consumo de ancho de banda, puede utilizar Estado de sesión ASP.NET multisitio característica de NCacheEn este caso, el estado de sesión de ASP.NET no se replica entre sitios, sino que se conserva en la ubicación de su creación. Sin embargo, si se traslada tráfico de una región (centro de datos) a otra, el estado de sesión de ASP.NET se traslada con él. Esto permite tener dos o más regiones (centros de datos) activas, cada una manteniendo la mayor parte de su tráfico local, pero ocasionalmente desbordándolo a otra región cuando es necesario.

    Además, también puedes derribar un centro de datos sin causar interrupciones para los usuarios, ya que sus sesiones serán accesibles desde otros centros de datos.

Funciones avanzadas en NCache Proveedor de estado de sesión de ASP.NET

El NCache El proveedor de estado de sesión ASP.NET implementa todos los estándares Proveedor de estado de sesión de ASP.NET Características. Además, proporciona varias funciones avanzadas que le permiten gestionar situaciones complejas en sus aplicaciones.

  1. Compartir sesiones entre dominios de aplicación: Si su aplicación utiliza varios dominios de aplicación con funciones independientes, web.config archivos, configurando el mismo sessionAppId (por ejemplo, "NCacheApp1") en todos ellos permite compartir sesiones entre esos dominios. Si usa un ID de aplicación de sesión diferente, las sesiones no se comparten entre dominios de aplicación.
  2. Registro de errores: Puedes habilitar registro de errores a un archivo de registro en su servidor web (en INSTALL_DIR\NCache\log-files\SessionStoreProvider carpeta) especificando enableLogs = "true". También puede habilitar el registro de errores en el registro de eventos de Windows especificando writeExceptionsToEventLog = "true".
  3. Bloqueo de sesión estándar: El comportamiento estándar de bloqueo de sesiones en ASP.NET es que, si una sesión está bloqueada, otra solicitud espera 90 segundos (configurable) y, al final, fuerza el desbloqueo de la sesión. Puede especificar esta opción de la siguiente manera:

    enableSessionLocking = "true" sessionLockingRetry = "-1" emptySessionWhenLocked = "false"
  4. Bloqueo de sesión mejorado: Si tiene una aplicación ASP.NET con mucho tráfico donde los robots pueden extraer datos y usar el mismo ID de sesión para cientos o miles de solicitudes simultáneamente, no puede permitirse la opción estándar de bloqueo de sesión, ya que esperar 90 segundos podría saturar todos los sockets disponibles. En su lugar, desea devolver la solicitud rápidamente para indicar un fallo. Puede especificarlo de la siguiente manera:

    enableSessionLocking = "true" sessionLockingRetry = "5" emptySessionWhenLocked = "false"

    Esto realiza 5 reintentos a intervalos de medio segundo y luego devuelve una sesión vacía para indicar un error.

  5. Caso de uso empresarial: Este comportamiento de bloqueo mejorado fue diseñado específicamente para el sitio web de una aerolínea con mucho tráfico para evitar el agotamiento de los sockets en todo el sistema durante el raspado intenso de robots y eventos de alta concurrencia.

¿Qué hacer a continuación?

Preguntas frecuentes

Sí. Al configurar un sessionAppId coincidente en el archivo web.config de cada aplicación, NCache Permite compartir el estado de la sesión entre diferentes dominios de aplicación. Esto es ideal para entornos donde los usuarios se mueven entre varias subaplicaciones dentro de la misma sesión.

Sí. NCache Es una solución sin código para la gestión de sesiones. Solo necesita modificar su archivo web.config para cambiar el modo sessionState a "Personalizado" y especificar NCache Proveedor. No se requiere recompilación de la aplicación.

NCache Utiliza una arquitectura de clústeres peer-to-peer con autorreparación y replicación inteligente de sesiones. Mediante topologías como Partición-Réplica, NCache crea una copia de seguridad de cada sesión en un nodo diferente, lo que garantiza el 100 % de tiempo de actividad y la integridad de los datos incluso si un servidor web o de caché falla.

NCache es un caché distribuido en memoria, mientras que SQL Server es una base de datos basada en disco. NCache Elimina los cuellos de botella de la base de datos y los altos costos de serialización asociados con SQL Server, proporcionando escalabilidad lineal y tiempos de respuesta de submilisegundos para la recuperación de sesiones.

Sí. NCache Proporciona dos características principales para el soporte multi-región: replicación WAN (a través de topología de puente) para recuperación ante desastres activa-pasiva o activa-activa, y sesiones multisitio, que permite que las sesiones permanezcan locales para el usuario pero se muevan entre centros de datos si el tráfico se redirecciona.

Contáctenos

TELÉFONO

+1 214-619-2601 (EE.UU.)

+44 20 7993 8327 (Reino Unido)

© Copyright Alachisoft 2002 - Todos los derechos reservados. NCache es una marca registrada de Diyatech Corp.