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, lógica web y esfera web.

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.

Por lo tanto, 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.

Sesiones Web de Java

Diferentes contenedores de servlet asociados con NCache

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.

  1. Apache Tomcat: Es una implementación de código abierto de las páginas Java Servlet y Java Server y también proporciona un entorno de servidor web HTTP "Java puro" en el que se puede ejecutar el código Java. Proporciona manejo de sesiones a través de sesiones pegajosas.
  2. Vuelo salvaje: Es un servidor de aplicaciones escrito en Java que implementa y administra aplicaciones Java en una variedad de entornos.
  3. Lógica web: Es una aplicación compatible con Java Enterprise Edition (EE) que implementa, ejecuta y distribuye las aplicaciones basadas en Java.
  4. Esfera web: Es el servidor de aplicaciones más avanzado para crear y ejecutar aplicaciones Java.

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.

<?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>

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

NCache proporciona al usuario una opción de "sin cambio de código" para que las aplicaciones Java persistan 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, por lo tanto, un rendimiento mejorado.
  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 servlet de Java en varios servidores de acuerdo con su topología especificada sin comprometer la confiabilidad y el rendimiento. Es por eso que el usuario no perderá ningún dato de la sesión, incluso si el servidor de caché deja de funcionar por algún 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.

Compatibilidad con múltiples regiones en Java Web Sessions

Para administrar sesiones de servlet de Java en varias granjas web, que están ubicadas geográficamente por separado, 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?

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