+

Search Tips   |   Advanced Search

Configure cache replication

Improve performance by configuring the data replication service (DRS) to replicate data from the dynamic cache service across the consumers in a replication domain.

You should have a replication domain created for the dynamic cache service. Configure a different replication domain for each type of consumer of the replication domain. For example, configure two different replication domains for dynamic cache and session manager. There are two ways to configure replication domains:

To create replication domains manually, click...

To create a new replication domain automatically when creating a cluster, click...

For "Number of replicas", do not use the default value of a single replica Instead, use a full group replica for any replication domains configured for dynamic cache.

Use this task to improve performance in a clustered environment by enabling the DRS to replicate cached data across the servers in a cluster. Invalidations of cache entries are sent across the cluster to keep the cached data consistent and valid.

  1. To enable replication, in the console, click...

      Servers | Server Types | WebSphere application servers | server_name | Container services | Dynamic cache service | Enable cache replication

  2. Choose a replication domain.

    Use different replication domains for each type of consumer. For example, dynamic cache should use a different replication domain than session manager. The only replication domains that we can select in this panel include replication domains configured to use full-group replication, where every cache entry is replicated to every other cache configured in the servers that are in the replication domain. If none of the replication domains in the configuration meet these requirements, the list is empty. In this case, create a replication domain or alter an existing replication domain so that we have a replication domain that can perform full-group replication.

  3. Define the dynamic cache replication settings.

    Click...

      Enable cache replication

    On this page, we can define when and how often data is replicated across the dynamic cache replication domain. refer to Dynamic cache service settings.

    Value Description
    NOT_SHARED Cache entries for this object are not shared among different application servers. These entries can contain non-serializable data. For example, a cached servlet can place non-serializable objects into the request attributes, if the class type supports it.
    PUSH Cache entries for this object are automatically distributed to the dynamic caches in other application servers or cooperating JVMs. Each cache has a copy of the entry at the time it is created. These entries cannot store non-serializable data.
    PULL Cache entries for this object are shared between application servers on demand. If an application server gets a cache miss for this object, it queries the cooperating application servers to see if they have the object. If no application server has a cached copy of the object, the original application server runs the request and generates the object. These entries cannot store non-serializable data. This mode of sharing is not recommended.
    PUSH_PULL Cache entries for this object are shared between application servers on demand. When an application server generates a cache entry, it broadcasts the cache ID of the created entry to all cooperating application servers. Each server then knows whether an entry exists for any given cache ID. On a given request for that entry, the application server knows whether to generate the entry or pull it from somewhere else. These entries cannot store non-serializable data.

    If we do not define one of these values, the default is NOT_SHARED.

  4. Define sharing policies in the cachespec.xml file.
    <cache-entry>
     <sharing-policy>not-shared
     <class>servlet</class>
     <name>/app</name>
     <cache-id>
      <component id="action" type="parameter">
       <value>portfolio</value>
       < required>true</ required>
      </component>
      <component id="JSESSIONID" type="cookie">
       < required>true</ required>
      </component>
      <property name="EdgeCacheable">true</property>
     </cache-id>
    </cache-entry>


Results

Cache entries copy to the other application servers in the configured replication domain.


What to do next

Use the cache monitor to view the contents of the cache.


Subtopics


Related tasks

Replicating data across application servers in a cluster
  • Task overview: Use the dynamic cache service to improve performance
  • Migrate servers from multi-broker replication domains to data replication domains
  • Displaying cache information
  • Dynamic cache service settings
  • cachespec.xml file