Configuración de la memoria caché dinámica (DynaCache) para que utilice el proveedor de memoria caché dinámica de WebSphere eXtreme Scale

El motor de memoria caché dinámica es el proveedor de memoria caché predeterminado para la infraestructura y las API de memoria caché dinámica. No obstante, la memoria caché dinámica permite a WebSphere eXtreme Scale actuar como su motor de almacenamiento en memoria caché principal. Puede configurar la memoria caché dinámica para que utilice WebSphere eXtreme Scale como proveedor de memoria caché, en lugar del motor de memoria caché dinámica predeterminado. Configurar la memoria caché dinámica para que utilice WebSphere eXtreme Scale le permite sacar el máximo rendimiento al soporte transaccional, la escalabilidad mejorada, la alta disponibilidad y otras características de WebSphere eXtreme Scale, sin cambiar el código de colocación en la memoria caché dinámica existente.

Antes de empezar

  • Lea el tema Introducción: memoria caché dinámica, si desea una visión general de la funcionalidad de WebSphere eXtreme Scale.
  • Determine si utilizar WebSphere eXtreme Scale resulta beneficioso para las aplicaciones que se ejecuten en sus servidores de aplicaciones.

    Las características de WebSphere eXtreme Scale aumentan de forma significativa las capacidades distribuidas de la función de memoria caché dinámica, más allá de lo que ofrecen el motor de memoria caché dinámica predeterminado y el servicio de réplica de datos. Con WebSphere eXtreme Scale, puede crear memorias caché que realmente se distribuyan entre varios servidores, en lugar de sólo replicar y sincronizar las memorias caché entre los servidores. Las memorias caché de WebSphere eXtreme Scale son transaccionales y de alta disponibilidad, que garantiza que cada servidor vea el contenido de la misma memoria caché dinámica. WebSphere eXtreme Scale también ofrece una mayor calidad de servicio para la réplica de memoria caché que proporcionada mediante el servicio de réplica de datos (DRS).

    Sin embargo, estas ventajas no significan que el proveedor de memoria caché dinámica eXtreme Scale sea la opción correcta para cada aplicación. Utilice los árboles de decisión y la matriz de comparación de características proporcionados. Consulte el tema Configuring the dynamic cache provider for WebSphere eXtreme Scale en el Information Center de WebSphere eXtreme Scale Version 7.0, para obtener una visión general de este proveedor de memoria caché.

Si decide que resulta útil para las aplicaciones, utilice la información proporcionada en la sección "Configuring the dynamic cache provider for WebSphere eXtreme Scale" de WebSphere eXtreme Scale Version 7.0 Product Overview para determinar la topología de WebSphere eXtreme Scale adecuada para su despliegue de la memoria caché.

Si utiliza WebSphere eXtreme Scale, en lugar del motor de memoria caché dinámica predeterminado, la memoria caché dinámica tiene las limitaciones siguientes:
  • No hay ningún soporte de memoria caché de disco. Las propiedades personalizadas siguientes no funcionan:
    • com.ibm.ws.cache.CacheConfig.enableDiskOffload
    • com.ibm.ws.cache.CacheConfig.diskOffloadLocation
    • com.ibm.ws.cache.CacheConfig.flushToDiskOnStop
    • com.ibm.ws.cache.CacheConfig.htodCleanupFrequency
    • com.ibm.ws.cache.CacheConfig.htodDelayOffload
    • com.ibm.ws.cache.CacheConfig.htodDelayOffloadEntriesLimit
    • com.ibm.ws.cache.CacheConfig.htodDelayOffloadDepIdBuckets
    • com.ibm.ws.cache.CacheConfig.htodDelayOffloadTemplateBuckets
    • com.ibm.ws.cache.CacheConfig.diskCachePerformanceLevel
    • com.ibm.ws.cache.CacheConfig.diskCacheEvictionPolicy
    • com.ibm.ws.cache.CacheConfig.diskCacheHighThreshold
    • com.ibm.ws.cache.CacheConfig.diskCacheLowThreshold
    • com.ibm.ws.cache.CacheConfig.diskCacheSize
    • com.ibm.ws.cache.CacheConfig.diskCacheSizeInGB
    • com.ibm.ws.cache.CacheConfig.diskCacheEntrySizeInMB
    • com.ibm.ws.cache.CacheConfig.explicitBufferLimitOnStop
    • com.ibm.ws.cache.CacheConfig.lruToDiskTriggerTime
    • com.ibm.ws.cache.CacheConfig.lruToDiskTriggerPercent
    Avoid trouble Avoid trouble: La función descarga de disco debe estar inhabilitada antes de configurar extremeScale. Para inhabilitar la función descarga de disco:
    1. En la consola administrativa, pulse Servidores>Tipos de servidor>WebSphere Application Servers> nombre_servidor >Servicios de contenedor>Servicio de memoria caché dinámica.
    2. Localice la propiedad Habilitar descarga de disco y anula su selección si está seleccionada.
    Si olvida inhabilitar la descarga de disco antes de configurar extremeScale como el proveedor de memoria caché, utilice los mandatos de wsadmin para inhabilitar la función descarga de disco:
    1. Emita el mandato siguiente para encontrar el objeto config para el servidor.
      wsadmin>$AdminConfig list DynamicCache
      (cells/optimusprimeCell01/nodes/optimusprimeNode01/servers/server1|serve
      r.xml#memoria_caché_dinámica)
    2. Emita el mandato modify de AdminConfig para establecer diskoffload en false:
      wsadmin>$AdminConfig modify
      (cells/optimusprimeCell01/nodes/optimusprimeNode01/servers/server1|serve
      r.xml#nombre_memoria_caché) {{enableDiskOffload false}} 
    3. Emita el mandato siguiente para guardar el cambio de configuración:
      wsadmin>$AdminConfig save
    gotcha
  • No hay réplica de DRS (soporte push o push-pull). Las siguientes propiedades personalizadas no funcionarán:
    • com.ibm.ws.cache.CacheConfig.enableReplicationAcks
    • com.ibm.ws.cache.CacheConfig.enableCacheReplication
    • com.ibm.ws.cache.CacheConfig.replicationDomain
    • com.ibm.ws.cache.CacheConfig.cacheEntryWindow
    • com.ibm.ws.cache.CacheConfig.cachePercentageWindow
    • com.ibm.ws.cache.CacheConfig.cacheInvalidateEntryWindow
    • com.ibm.ws.cache.CacheConfig.cacheInvalidatePercentWindow
    • com.ibm.ws.cache.CacheConfig.filterTimeOutInvalidation
    • com.ibm.ws.cache.CacheConfig.filterLRUInvalidation
  • No se da soporte a la característica de API de alias para la memoria caché de objeto.
  • Se da soporte al escucha de sucesos. Al activar cualquier suceso, WebSphere eXtreme Scale establece siempre sourceOfInvalidation en REMOTE.
  • No se da soporte a la inhabilitación del ID de dependencia, com.ibm.ws.cache.CacheConfig.disableDependencyId, ni a las plantillas, com.ibm.ws.cache.CacheConfig.disableTemplatesSupport.
  • No hay soporte de PMI.
  • Se da soporte a los contadores CacheStatistic siguientes:
    • CacheHits
    • CacheLruRemoves
    • CacheMisses
    • CacheRemoves
    • ExplictInvalidationsFromMemory
    • MemoryCacheEntries
    • TimeoutInvalidationsFromMemory
  • NioMap - skipMemoryAndWriteToDisk no funcionará porque no se da soporte a la memoria caché de disco. Además, no se llama a DistributedNioMapObject.release() para que libere byteBuffer en la gestión de almacenamiento intermedio NIO.

Realice las acciones siguientes para habilitar el proveedor de memoria caché dinámica de WebSphere eXtreme Scale.

Procedimiento

  1. Instale el cliente de WebSphere eXtreme Scale, o el cliente de WebSphere eXtreme Scale y los paquetes de servidor en el servidor de aplicaciones para el servidor remoto y las demás topologías, respectivamente.
    Avoid trouble Avoid trouble: Sólo se da soporte a la instalación del cliente de WebSphere eXtreme Scale, y a la topología remota.gotcha
  2. Designe al proveedor de memoria caché dinámica de WebSphere eXtreme Scale como el proveedor de memoria caché.

    Cada instancia de memoria caché se puede configurar individualmente para que utilice WebSphere eXtreme Scale. El motor de memoria caché dinámica es el proveedor de memoria caché predeterminado para una instancia de memoria caché. Las instancias de memoria caché configuradas con WebSphere eXtreme Scale pueden coexistir con las instancias de memoria caché que se hayan configurado con DRS.

    Realice una de las acciones siguientes para designar el proveedor de memoria caché dinámica de WebSphere eXtreme Scale como su proveedor de memoria caché:

    1. Utilice la consola administrativa para designar el proveedor de memoria caché dinámica de WebSphere eXtreme Scale como su proveedor de memoria caché.
      1. En la consola administrativa, pulse Servidores > Tipos de servidor > Servidores de aplicaciones de WebSphere > nombre_servidor.
      2. En Servicios del contenedor, pulse Servicio de memoria caché dinámicanombre_servidor y, a continuación, en el campo Proveedor de memoria caché, seleccione Proveedor de memoria caché dinámica de WebSphere eXtreme Scale.
      3. Pulse Aceptar.
    2. Añada la propiedad cacheProviderName al archivo cacheinstances.properties, que está empaquetado en una aplicación empresarial, y establezca la propiedad en com.ibm.ws.objectgrid.dynacache.CacheProviderImpl.

      Por ejemplo, para cache.instance.26, debería añadir la siguiente línea al archivo cacheinstances.properties:

      cache.instance.26.cacheProviderName = com.ibm.ws.objectgrid.dynacache.CacheProviderImpl
    3. Añada las API de fábrica siguientes al código de una aplicación empresarial:
      Properties p = new Properties();
                      ==>p.put(CacheConfig.CACHE_PROVIDER_NAME, CacheConfig.CACHE_PROVIDER_OBJECT_GRID);
                      DistributedMap map1 = DistributedMapFactory.getMap("myMap", p);
                      DistributedMap map2 = DistributedObjectCacheFactory.getMap("myMap2", p);
  3. Configure el valor de réplica de la instancia de memoria caché.

    Con el proveedor de memoria caché dinámica de WebSphere eXtreme Scale no puede tener instancias de memoria caché local e instancias de memoria caché replicadas.

    Si sólo va a utilizar las instancias de memoria caché local, vaya al último paso y guarde los cambios de configuración que haya efectuado. En una memoria caché local, el contenedor WebSphere eXtreme Scale se ubica conjuntamente con la JVM; es decir, el contenedor WebSphere eXtreme Scale y WebSphere Application Server comparten el mismo almacenamiento dinámico.

    Si va a utilizar memorias caché replicadas, realice una de las acciones siguientes, en función de cómo haya creado la instancia de memoria caché:

    1. En la página Máquina virtual Java> Propiedades personalizadas de la consola administrativa, vuelva a pulsar Nueva. Escriba com.ibm.ws.cache.CacheConfig.enableCacheReplication en el campo Nombre y true en el campo Valor y, a continuación, pulse Aceptar.
    2. Añada la propiedad enableCacheReplication al archivo cacheinstances.properties, que está empaquetado en una aplicación empresarial, y establezca la propiedad en true.
      Por ejemplo, para cache.instance.26, debería añadir la siguiente línea al archivo cacheinstances.properties:
      cache.instance.26.enableCacheReplication = true
    3. Añada las API de fábrica siguientes al código de una aplicación empresarial:
      Properties p = new Properties();
                      p.put(CacheConfig.CACHE_PROVIDER_NAME, CacheConfig.CACHE_PROVIDER_OBJECT_GRID);
                      ==>p.put(CacheConfig.ENABLE_CACHE_REPLICATION, "true");
                      DistributedMap map1 = DistributedMapFactory.getMap("myMap", p);
                      DistributedMap map2 = DistributedObjectCacheFactory.getMap("myMap2", p);
  4. Configure la topología de réplica de WebSphere eXtreme Scale.

    El único parámetro de configuración obligatorio para el proveedor de memoria caché dinámica de WebSphere eXtreme Scale es el parámetro de topología de memoria caché.

    1. En la página Máquina virtual Java> Propiedades personalizadas de la consola administrativa, vuelva a pulsar Nueva. Escriba com.ibm.websphere.xs.dynacache.topology en el campo Nombre, y uno de los valores siguientes en el campo Valor:
      • embedded
      • embedded_partitioned
      • remoto
      Avoid trouble Avoid trouble: Si especifica embedded_partitioned, también debe añadir la propiedad personalizada com.ibm.websphere.xs.dynacache.num_initial_containers a los valores de la JVM, y establecer esta propiedad en un entero que sea igual o ligeramente menor que el número total de instancias de servidor que estén accediendo a esta instancia de memoria caché distribuida.gotcha
    2. Añada la propiedad com.ibm.websphere.xs.dynacache.topology al archivo cacheinstances.properties que está empaquetado en una aplicación empresarial, y establezca la propiedad en embedded, embedded_partitioned, o remote.
      Por ejemplo, para cache.instance.26, debería añadir la siguiente línea al archivo cacheinstances.properties:
      cache.instance.26.com.ibm.websphere.xs.dynacache.topology = embedded
      Avoid trouble Avoid trouble: Si especifica embedded_partitioned, también debe añadir la propiedad com.ibm.websphere.xs.dynacache.num_initial_containers al archivo cacheinstances.properties, y establecer esta propiedad en un entero que sea igual o ligeramente menor que el número total de instancias de servidor que estén accediendo a esta instancia de memoria caché distribuida.gotcha

      Por ejemplo, si un servicio de memoria caché dinámica está compartido entre los miembros de la cuadrícula, entonces la variable se debe establecer en el número de miembros de la cuadrícula.

    3. Añada las API de fábrica siguientes al código de una aplicación empresarial:
      Properties p = new Properties();
                      p.put(CacheConfig.CACHE_PROVIDER_NAME, CacheConfig.CACHE_PROVIDER_OBJECT_GRID);
                      p.put(CacheConfig.ENABLE_CACHE_REPLICATION, "true");
                      ==>p.put("com.ibm.websphere.xs.dynacache.topology", "embedded");
                      ==>p.put("com.ibm.websphere.xs.dynacache.num_initial_containers", "3");
                      DistributedMap map1 = DistributedMapFactory.getMap("myMap", p);
                      DistributedMap map2 = DistributedObjectCacheFactory.getMap("myMap2", p);

    Consulte el tema Configuring the dynamic cache provider for WebSphere eXtreme Scale del Information Center de WebSphere eXtreme Scale Versión 7, para obtener más información sobre los valores embedded, embedded_partitioned y remote.

  5. Configure la cuadrícula de servicio de catálogo de eXtreme Scale.

    Cuando ejecute una cuadrícula de servicio de catálogo, deberá establecer la propiedad personalizada catalog.services.cluster para los puntos finales del servicio de catálogo.

    Consulte el tema Inicio del proceso de servicio de catálogo en un entorno WebSphere Application Server en el Information Center de WebSphere eXtreme Scale versión 7 para ver una descripción sobre cómo iniciar el proceso del servicio de catálogo en un entorno WebSphere Application Server.

    1. En la consola administrativa, pulse Administración del sistema > Célula > Propiedades personalizadas > Nueva.
    2. Escriba catalog.services.cluster en el campo Nombre, y el valor nombre_servidor:nombre_host:puerto_cliente:puerto_igual:puerto_escucha adecuado en el campo Valor.
      • nombre_servidor es el nombre totalmente calificado del proceso de WebSphere como, por ejemplo, el nombre de la célula, el nombre del nodo o un nombre de servidor, del servidor en el que se aloje el servicio de catálogo. Ejemplo: cellA\node1\nodeagent
      • nombre_host es el nombre del servidor donde se alojan los demás elementos.
      • puerto_cliente es el puerto que se utiliza para la comunicación de la cuadrícula de catálogo de iguales.
      • puerto_igual es el puerto que se utiliza para la comunicación de la cuadrícula de catálogo de iguales.
      • puerto_escucha es el puerto del escucha. Este puerto debe coincidir con el valor BOOTSTRAP_ADDRESS definido en la configuración del servidor.
      A continuación figura un ejemplo de un valor válido:
      cellA\node1\nodeagent:host.local.domain:6600:6601:2809,cellA\node2\
      nodeagent:host.foreign.domain:6600:6601:2809
    3. Pulse Aceptar.
  6. Pulse Guardar para guardar todos los cambios realizados en la configuración.
  7. Reinicie todos los servidores de aplicaciones que haya configurado para que utilicen WebSphere eXtreme Scale.
  8. Configure los objetos de clave personalizados.

    Cuando utilice objetos personalizados como claves, los objetos deberán implementar la interfaz Serializable o Externalizable. Si utiliza objetos personalizados con las topologías incorporadas o particionadas incorporadas, debe colocar los objetos en la vía de acceso de la biblioteca compartida, del mismo modo en que lo hace si utiliza el proveedor de memoria caché dinámica predeterminado. Para obtener más información, consulte el tema Utilización de las interfaces DistributedMap y DistributedObjectCache para la memoria caché dinámica.

    Si utiliza la topología remota, deberá colocar los objetos de clave personalizados en la variable CLASSPATH para los contenedores autónomos de WebSphere eXtreme Scale. Para obtener más información, consulte los pasos que deben efectuarse para iniciar un proceso de contenedor en la publicación Guía de administración de WebSphere eXtreme Scale versión 7.0. Esta publicación está disponible en la página de la biblioteca de WebSphere eXtreme Scale.

  9. Configure los servidores de contenedor de eXtreme Scale.

    Los datos de la memoria caché se almacenan en los contenedores de WebSphere eXtreme Scale. Estos contenedores se pueden ejecutar dentro o fuera de un proceso WebSphere Application Server. El proveedor eXtreme Scale crea automáticamente contenedores dentro de un proceso WebSphere Application Server cuando se utilizan topologías particionadas o incorporadas para una instancia de memoria caché. No es necesario establecer ninguna otra configuración para estas topologías.

    Cuando utilice la topología remota, debe iniciar los contenedores eXtreme Scale autónomos antes de iniciar las instancias de WebSphere Application Server que acceden a la instancia de memoria caché. En la publicación Guía de administración de WebSphere eXtreme Scale versión 7.0 se documentan los pasos que se deben completar para iniciar los contenedores autónomos.

    Avoid trouble Avoid trouble: Asegúrese de que todos los contenedores de una caché dinámica específica apunten a los mismos puntos finales de servicio de catálogo. gotcha

    Los archivos de configuración dynacache-remoteobjectgrid. Los archivos de configuración xml y dynacache-remote-definition.xml para los contenedores del proveedor de memoria caché dinámica autónomo eXtreme Scale se encuentran en el directorio raíz_instalación/customLibraries/ ObjectGrid/dynacache/etc si WebSphere eXtreme Scale está instalado sobre WebSphere Application Server, o en el directorio raíz_instalación/ObjectGrid/dynacache/etc si utiliza una versión autónoma de WebSphere eXtreme Scale. Realice copias de estos archivos para editar y utilizar al iniciar contenedores autónomos para el proveedor de memoria caché dinámica de eXtreme Scale. El valor especificado para el parámetro numIntitialContainers del archivo dynacache-remote-deployment.xml debe basarse en el número de procesos de contenedor que se ejecutan.

    El ejemplo siguiente ilustra una entrada de línea de mandatos basada en UNIX que inicia un contenedor autónomo para el proveedor de memoria caché dinámica de WebSphere eXtreme Scale:
    startOgServer.sh container1 -objectGridFile ../dynacache/etc/dynacache-remoteobjectgrid.
    xml -deploymentPolicyFile ../dynacache/etc/dynacache-remotedeployment.
    xml -catalogServiceEndpoints MyServer1.company.com:2809
    Avoid trouble Avoid trouble: El conjunto de procesos de contenedor debe tener suficiente memoria libre para poder dar servicio a todas las instancias de caché dinámica configuradas para que utilicen la topología remota. Cualquier proceso de WebSphere Application Server que comparta los mismos valores o valores equivalente para catalog.services.cluster debe utilizar el mismo conjunto de contenedores autónomos. El número de contenedores y el de las máquinas donde residen debe calcularse de la forma apropiada. Consulte el tema Capacity planning and high availability, de la publicación WebSphere eXtreme Scale Version 7.0 Product Overview, para obtener detalles adicionales. Esta publicación está disponible en la página de la biblioteca de WebSphere eXtreme Scale.gotcha
  10. Compruebe que el proveedor de memoria caché dinámica de WebSphere eXtreme Scale se haya configurado correctamente.
    Si el proveedor de memoria caché dinámica de WebSphere eXtreme Scale se ha configurado correctamente, el registro del sistema contendrá varios mensajes similares a los siguientes:
    DYNA1001I: La instancia de memoria caché dinámica de WebSphere denominada "{0}" se ha inicializado satisfactoriamente utilizando el proveedor de memoria caché "{1}".
    DYNA1071I: El proveedor de memoria caché \"{0}\" se está utilizando.
    Si la configuración y la inicialización de la instancia de memoria caché con WebSphere eXtreme Scale fallan, la ejecución de la memoria caché dinámica vuelve a su proveedor de caché de memoria caché dinámica predeterminado, y en el registro del sistema deberían aparecer mensajes similares al siguiente.
    DYNA1066E: No se ha podido inicializar el proveedor de memoria caché \"{0}\". 
    La memoria caché dinámica se utilizará para crear la instancia de memoria caché \"{1}\" 
    en lugar del proveedor de memoria caché configurado. 

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdyn_extremescale
File name: tdyn_extremescale.html