Sesiones Web Java con NCache

Talleres son una forma de almacenar datos para distintos usuarios. Los objetos de sesión de Java, creados en el servidor de aplicaciones, llamados contenedores de servlet que alojan la aplicación web, dentro de un servlet de Java o una página de servidor de Java (JSP) incluyen Apache Tomcat, WildFly, servidor Oracle WebLogic y Servidor de aplicaciones IBM WebSphere.

Por ejemplo, el servidor web Tomcat proporciona gestión de sesiones a través de la replicación de sesiones en clústeres de servidores web Tomcat. La replicación de sesiones puede causar una sobrecarga de datos y memoria, volverse lenta y carecer de rendimiento y escalabilidad.

De esta manera, las NCache proporciona una mejor opción donde los usuarios pueden almacenar sus sesiones de Java dentro de su aplicación sin ningún problema en una granja web con equilibrio de carga.

Arquitectura de almacenamiento en caché de sesiones web Java mediante NCache Proveedor de sesiones en una granja web con equilibrio de carga para escalabilidad lineal.
Gestión de sesiones Java escalable con NCache Clúster dinámico.

Contenedores y especificaciones de servlets Java compatibles

NCache brinda a sus usuarios las opciones de usar diferentes tipos de contenedores de servlet que pueden alojar su aplicación web con facilidad, como se explica a continuación. NCache es compatible con las especificaciones Java Servlet 3.1+.

  1. Apache Tomcat: Es una implementación de código abierto de Java Servlet y Java Server Pages y también proporciona un entorno de servidor web HTTP "Java puro" en el que se puede ejecutar código Java. Proporciona gestión de sesiones a través de sesiones persistentes.
  2. Vuelo salvaje: WildFly es un servidor de aplicaciones Java EE ligero, de alto rendimiento y de código abierto desarrollado por Red Hat.
  3. Servidor Oracle WebLogic: Oracle WebLogic es un servidor de aplicaciones Java EE que se utiliza para desarrollar, implementar y ejecutar aplicaciones empresariales.
  4. Servidor de aplicaciones IBM WebSphere: IBM WebSphere Server es un servidor de aplicaciones Java EE que proporciona un entorno de ejecución para crear, implementar y administrar aplicaciones empresariales.

Configuración del módulo de sesión de Java para NCache

Para configurar sesiones Java, es necesario modificar el archivo "session.xml" ubicado en %NC_Home%/config en el NCache carpeta. A continuación se muestra el código que lo hace para NCache. Para obtener más detalles sobre la adición de bibliotecas, la definición de filtros y la implementación de la aplicación mediante contenedores de servlets, consulte Adición de bibliotecas y definición de filtros para obtener ayuda. NCache aprovecha la API de filtro de servlets de Java estándar, lo que le permite interceptar llamadas de gestión de sesiones y redirigirlas al caché distribuido sin necesidad de realizar modificaciones en la lógica de su aplicación.

<?xml version="1.0" encoding="UTF-8"?>  
   <!--for single regional session provider-->
<servlet-session-config>
    <cache id="myPartitionedCache"/>
    <log log-props="log4j.properties"/>
    <locking enable-session-locking="true" retries-count="2" retry-interval="500ms" lock-timeout="36000ms" empty-session-when-locked="false"/>
</servlet-session-config>

Por qué usar NCache ¿Para la gestión de sesiones Java?

NCache proporciona al usuario una opción de "sin cambios de código" para que las aplicaciones Java persistan las sesiones en NCache almacenamiento en caché distribuido. Si su aplicación se ejecuta en una granja de servidores web con equilibrio de carga y necesita un almacenamiento confiable y escalable para la persistencia de su sesión, NCache da las siguientes ventajas:

  1. Mejor presentación: NCache Proporciona un tiempo de respuesta más rápido, lo que mejora el rendimiento. Al utilizar NCache Serialización compacta: los objetos Java se serializan significativamente más rápido que la serialización Java estándar, lo que reduce drásticamente la sobrecarga de la CPU y la latencia de la red.
  2. Alta disponibilidad: NCache proporciona sólidos clústeres de caché distribuidos sin punto único de falla que son altamente disponible lo que significa que puede agregar o eliminar caché sin detener su aplicación.
  3. Confiabilidad extrema: NCache Permite al usuario replicar sesiones de servlets Java en múltiples servidores según su topología específica. Topologías como Partitioned-Replica garantizan que los datos de la sesión se dupliquen entre nodos, lo que proporciona un 100 % de disponibilidad incluso si falla un servidor de caché individual, sin comprometer la fiabilidad ni el rendimiento. Por ello, el usuario no perderá ningún dato de la sesión incluso si el servidor de caché falla por cualquier motivo.
  4. Replicación de sesión brillante a través de topologías: NCache proporciona varias topologías de almacenamiento en caché a través de las cuales persiste sus sesiones de acuerdo con sus necesidades. Por ejemplo, uno puede usar topología replicada con particiones para una mayor fiabilidad y escalabilidad.
  5. Escalabilidad lineal: NCache, una distribución en memoria linealmente escalable grid, tiene la capacidad de manejar altas cargas, por lo que las aplicaciones de sesión pueden lograr la mayor escalabilidad posible.

¿Cómo gestionar sesiones Java en múltiples regiones?

La gestión de sesiones en centros de datos distribuidos a menudo presenta desafíos de latencia y sincronización. NCache Resuelve esto proporcionando opciones flexibles de persistencia multisitio. Para administrar sesiones de servlets Java en varias granjas web, ubicadas geográficamente separadas, NCache proporciona persistencia de sesión en varios sitios de las siguientes maneras:

  1. Replicación WAN de Java Web Sessions: NCache permite a un usuario replicar todas las sesiones de Java a través de la WAN a otra región (centro de datos) que se realiza a través de la Topología de puente característica de NCache. Esto asegura que sus sesiones de Java nunca se pierdan, incluso si una región deja de funcionar.
  2. Sesiones web de Java en varios sitios: Si un usuario no desea replicar las sesiones a través de la WAN principalmente debido al alto consumo de ancho de banda y posibles problemas de rendimiento, puede optar por utilizar el concepto de Compatibilidad con sesión Java en varios sitios, una característica de NCache. En este enfoque, cada región puede configurar sus cachés por separado y cada caché tendrá su propio conjunto de clientes (Servlet Java). La sesión no se replicará entre los sitios, sino que se mantendrá en su ubicación de creación.

A través de esto, podemos tener dos o más regiones separadas activas y un usuario puede mantener la mayor parte del tráfico en su propia región. Del mismo modo, si el usuario desconecta una región por alguna razón, no causará ningún problema porque otras regiones podrán acceder a esa región.

Funciones avanzadas en NCache Sesiones Web de Java

Sesiones Web de Java para NCache implementa todas las funciones estándar proporcionadas por Java Web Sessions. Además, implementa algunas características avanzadas para manejar otras situaciones importantes.

  1. Caducidad de la sesión: NCache maneja la caducidad de la sesión y elimina las sesiones de la memoria caché durante un tiempo de espera de sesión especificado. De manera similar, podemos especificar el valor de tiempo de espera de la sesión a través de contenedores de servlet y NCache utilizará internamente ese intervalo para hacer caducar las sesiones de la memoria caché.
  2. Manejo de solicitudes de sesiones múltiples e integridad de datos: Para evitar la situación en la que las solicitudes paralelas pueden provocar la mutación de las sesiones, NCache proporciona un mecanismo de bloqueo para que dos solicitudes paralelas no puedan cambiar la misma sesión. Puede especificarlo en el archivo “session.xml” de la siguiente manera:
    <servlet-session-config>
        <locking enable-session-locking="true" retries-count="2" retry-interval="500ms" lock-timeout="36000ms" empty-session-when-locked="false"/>
    </servlet-session-config>
  3. Manejo de serialización de datos de sesión: Después de colocar sus objetos Java en sesiones de servlet de Java y almacenarlos fuera del proceso, se debe serializar toda la sesión de servlet de Java. NCache proporciona una serialización más rápida en comparación con la serialización regular de Java, llamada Serialización compacta. Con esto la velocidad de tu aplicación Java aumenta mucho.

¿Qué hacer a continuación?

Preguntas frecuentes

NCache Mejora el rendimiento al trasladar los datos de sesión desde bases de datos lentas y limitadas en disco o desde la replicación de servlets con alta carga de trabajo a una caché distribuida en memoria. NCache Serialización compacta: los objetos Java se serializan más rápido que la serialización Java estándar, lo que reduce significativamente los ciclos de CPU y la latencia de la red en entornos de alto tráfico.

Sí. NCache Proporciona una integración sin necesidad de modificar el código aprovechando la API estándar de filtros de servlets de Java. Simplemente modifique el archivo de configuración session.xml para que apunte a su NCache clúster y el filtro intercepta automáticamente las llamadas de gestión de sesiones y las redirige al almacén distribuido.

Para evitar la pérdida de datos o "lecturas sucias" durante solicitudes paralelas (como llamadas AJAX), NCache Implementa un robusto mecanismo de bloqueo de sesión. Esto garantiza que, mientras una solicitud modifica un objeto de sesión, las demás solicitudes se pongan en cola o se gestionen según su configuración de bloqueo específica, manteniendo así una estricta consistencia de datos.

Sí. NCache Admite granjas web distribuidas geográficamente mediante la Topología de Puente para la Replicación WAN. Garantiza una alta disponibilidad replicando los datos de sesión entre centros de datos. Como alternativa, puede usar sesiones Java multisitio para mantener el tráfico local en una región y, al mismo tiempo, mantener la capacidad de conmutación por error a un sitio diferente si un centro de datos falla.

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.