13.3 Configuración de los valores del caché

Puede utilizar la página Almacenamiento en caché para visualizar y cambiar los valores de configuración del caché de un entorno de servidores de aplicación que están en clúster o no lo están. Los cambios se guardan inmediatamente, pero no entrarán en vigor hasta que el usuarioreinicie la aplicación.

SUGERENCIA:Para reiniciar la aplicación de usuario, puede ejecutar una de las acciones siguientes: reiniciar el servidor de aplicación; volver a implantar la aplicación (si se ha introducido algún cambio en el WAR); u obligar a la aplicación a reiniciarse (tal como se describe en la documentación del servidor de aplicación).

Para configurar los valores de caché, necesita saber:

13.3.1 Cómo se implementa el almacenamiento en caché

En la aplicación de usuario del Gestor de identidades, el almacenamiento en caché se implementa a través de JBoss Cache. JBoss Cache es una arquitectura de almacenamiento en caché de código abierto incluida en el servidor de aplicación de JBoss, que también se ejecuta en otros servidores de aplicación.

Para saber más acerca de JBoss Cache, vaya a www.jboss.org/products/jbosscache.

13.3.2 Cómo se almacenan los valores de caché

Existen dos niveles de valores disponibles que permiten controlar la configuración del caché. Puede utilizarlos conjuntamente para adaptar el comportamiento del almacenamiento en caché de la aplicación de usuario del Gestor de identidades.

Nivel

Descripción

Valores globales

Los valores globales se almacenan en una ubicación central (el repositorio seguro de identidades) para que un gran número de servidores de aplicación puedan utilizar los mismos valores de configuración. Por ejemplo, alguien que tenga un clúster de servidores de aplicación utilizará normalmente valores globales para los valores de configuración del clúster.

Para encontrar los valores globales del repositorio seguro de identidades, busque el objeto siguiente en el controlador de la aplicación de usuario del Gestor de identidades:


configuration.AppDefs.AppConfig

Por ejemplo:


configuration.AppDefs.AppConfig.MyUserApplicationDriver.MyDriverSet.MyOrg

El atributo XmlData del objeto de configuración contiene los datos de los valores globales.

Valores locales

Los valores locales se almacenan por separado en cada servidor de aplicación, de tal manera que un servidor individual pueda anular el valor de uno o varios valores globales. Por ejemplo, supongamos que desea especificar un valor local para eliminar un servidor de aplicación del clúster especificado en los valores globales, o bien desea cambiar la asignación de un servidor a otro clúster.

Para encontrar los valores locales del servidor de aplicación, busque el archivo siguiente en el directorio conf de la configuración de servidor de JBoss:


sys-configuration-xmldata.xml

Por ejemplo:


jboss/server/IDM/conf/sys-configuration-xmldata.xml

Si el servidor tiene valores locales, dichos datos estarán contenidos en este archivo. (Si no se ha especificado ningún valor local, el archivo no existirá).

Los valores globales deben considerarse los valores por defecto de todos los servidores de aplicación que utilicen una instancia concreta del controlador de la aplicación de usuario. Si se cambia un valor global, dicho cambio repercutirá sobre todos estos servidores (cuando el usuario reinicie la aplicación), salvo en los casos en que un servidor local especifique una anulación local.

13.3.3 Cómo se visualizan los valores de caché

La página Almacenamiento en caché visualiza los valores de caché actuales (desde el último reinicio de la aplicación por parte del usuario). Asimismo, visualiza los valores globales y locales correspondientes de dichos valores, y permite cambiarlos (para utilizarlos en el siguiente reinicio de la aplicación).

Descripción: Descripción: Ilustración

Tenga en cuenta que los valores globales siempre tienen valores. Los valores locales son opcionales.

13.3.4 Valores básicos del caché

Estos valores de caché se aplican a servidores en clúster y que no están en clúster.

Para configurar valores básicos de caché:

  1. Vaya a la página Almacenamiento en caché.

  2. En el apartado Configuración de caché de la página, especifique valores globales o locales para los valores siguientes, según sus necesidades:

    Valor

    Operaciones que puede realizar

    Bloquear tiempo límite de adquisición

    Especifique el intervalo de tiempo (en milisegundos) que esperará el caché para adquirir un bloqueo sobre un objeto. Puede que necesite aumentar este valor si la aplicación de usuario recibe un gran número de excepciones de tiempo límite de bloqueo en el registro de la aplicación. El valor por defecto es 15000 ms.

    Clase de directiva de expulsión

    Especifique la clase para la directiva de expulsión de caché que desee utilizar. El valor por defecto es la política de expulsión LRU que proporciona JBoss Cache:

    
    org.jboss.cache.eviction.LRUPolicy
    

    Si es preciso, puede cambiar esta política por otra política de expulsión que JBoss Cache admita.

    Para saber más acerca de las políticas de expulsión admitidas, vaya a www.jboss.org/products/jbosscache.

    Segundos de intervalo de activación

    Especifique el intervalo de tiempo (en segundos) que esperará la política de expulsión antes de activarse para ejecutar las operaciones siguientes:

    • Procesar los eventos del nodo expulsado
    • Limpiar los nodos desfasados y que superan el límite de tamaño

    Nº. máx. de nodos

    Especifique el número máximo de nodos permitidos en el caché. Si no desea ningún límite, especifique:

    
    0
    

    Segundos de duración

    Especifique el tiempo de inactividad (en segundos) antes de que el nodo desaparezca. Si no desea ningún límite, especifique:

    
    0
    

    Estos valores son obligatorios, lo que significa que debe haber un valor global para cada uno y, opcionalmente, también un valor local.

    Si desea anular el valor global de un valor con un valor local, seleccione la casilla de verificación Habilitar local para dicho valor. A continuación, especifique el valor local. (Asegúrese de que todos los valores locales sean válidos. De lo contrario, no podrá guardar los cambios).

    NOTA:En el caso de aquellos valores para los que Habilitar local no esté seleccionado, todos los valores locales existentes se suprimirán al guardar.

  3. Haga clic en Guardar.

  4. Cuando esté preparado para que los valores guardados entren en vigor, reinicie la aplicación de usuario en los servidores de aplicación pertinentes.

13.3.5 Valores de caché para los clústeres

En esta sección se explica cómo configurar el almacenamiento en caché cuando se ejecuta la aplicación de usuario del Gestor de identidades en un clúster de servidores de aplicación. Necesita tener conocimientos sobre:

Cómo se implementa la agrupación en clúster

En la aplicación de usuario del Gestor de identidades, la compatibilidad de clúster para el almacenamiento en caché se implementa a través de JGroups. JGroups es una arquitectura de agrupación en clúster de código abierto incluida en el servidor de aplicación de JBoss, que también se ejecuta en otros servidores de aplicación.

El clúster de la aplicación de usuario está formado por los nodos de una red que ejecutan JGroups y utilizan un ID de grupo común. Por defecto, el ID de grupo que suministra el clúster de la aplicación de usuario es un UUID que tiene el aspecto siguiente:

c373e901aba5e8ee9966444553544200

El UUID ayuda a asegurar la exclusividad, de modo que el ID de grupo del clúster de la aplicación de usuario no entre en conflicto con los ID de grupo de otros clústeres del entorno. Por ejemplo, el servidor de aplicación de JBoss utiliza dos clústeres JGroup y reserva los ID de grupo DefaultPartition y TreeCache para ellos.

Para saber más acerca de JGroups, vaya a www.jboss.org/products/jgroups.

Cómo funciona el almacenamiento en caché con un clúster

Cuando se inicia la aplicación de usuario, los valores de configuración del caché de la aplicación determinan si se participará en un clúster y si los cambios del caché se duplicarán en los otros nodos del clúster. Si se habilita la agrupación en clúster, la aplicación de usuario ejecutará la duplicación enviando mensajes de invalidación de entrada de caché a cada nodo, cuando se produzcan los cambios.

Preparación para utilizar un clúster

Para utilizar el almacenamiento en caché en un clúster, es preciso ejecutar dos grandes pasos:

  1. Configurar el clúster JGroups propio

    Esto implica instalar el servidor de aplicación de JBoss para que utilice toda la configuración y, a continuación, distribuir la aplicación de usuario del Gestor de identidades (IDM.war) a todos los servidores del clúster, normalmente poniéndola en el directorio farm.

  2. Habilitar el uso de dicho clúster en los valores de configuración de la aplicación de usuario

    Consulte Configuración de los valores de caché para los clústeres (más abajo).

Configuración de los valores de caché para los clústeres

Una vez tenga un clúster listo para utilizarlo, podrá especificar valores para el soporte del almacenamiento en caché en dicho clúster.

Para configurar los valores de caché para los clústeres:

  1. Vaya a la página Almacenamiento en caché.

  2. En el apartado Configuración del clúster de la página, especifique valores globales o locales para los valores siguientes, según sus necesidades:

    Valor

    Operaciones que puede realizar

    Clúster habilitado

    Seleccione True para duplicar los cambios del caché en los nodos restantes del clúster especificados mediante el ID de grupo. Si no desea participar en un clúster, seleccione False.

    ID de grupo

    Especifique el ID de grupo del clúster JGroups en el que desee participar. No es preciso cambiar el ID de grupo por defecto proporcionado para el clúster de la aplicación de usuario, a menos que desee utilizar otro clúster.

    Recuerde que los ID de grupo siguientes están reservados para que los utilice el servidor de aplicación de JBoss: DefaultPartition y TreeCache.

    SUGERENCIA:Para ver el ID de grupo en los mensajes de registro, asegúrese de que el nivel del registro de almacenamiento en caché (com.sssw.fw.cachemgr) esté establecido en Info o en un valor superior.

    Propiedades del clúster

    Especifique la pila de protocolos de JGroups para el clúster especificado por el ID de grupo. Tenga en cuenta que este valor es para administradores experimentados que pueden necesitar ajustar las propiedades de clúster. De lo contrario, no cambie la pila de protocolos por defecto.

    Para ver las propiedades actuales del clúster, haga clic en ver.

    Para obtener información acerca de la pila de protocolos de JGroups, vaya a www.joss.org/wiki/Wiki.jsp?page=JGroups.

    Si desea anular el valor global de un valor con un valor local, seleccione la casilla de verificación Habilitar local para dicho valor. A continuación, especifique el valor local.

    NOTA:En el caso de aquellos valores para los que Habilitar local no esté seleccionado, todos los valores locales existentes se suprimirán cuando guarde.

    Asegúrese de que todos los nodos del clúster especifiquen las mismas propiedades de ID de grupo y Clúster. (Para ver estos valores en el caso de un nodo en concreto, acceda a la interfaz de usuario del Gestor de identidades de dicho nodo, (yendo a la URL de la interfaz de usuario de dicho servidor) y visualice allí la página de almacenamiento en caché).

  3. Haga clic en Guardar.

  4. Cuando esté preparado para que los valores guardados entren en vigor, reinicie la aplicación de usuario en los servidores de aplicación pertinentes.