Use this task to configure a data replication domain to
transfer data, objects, or events for session manager, dynamic cache,
or stateful session beans. Data replication domains use the data replication
service (DRS), which is an internal product component that performs
replication services, including replicating data, objects, and events
among application servers.
About this task
Use this task to configure
replication, a service
that transfers data, objects, or events among the application servers
in a cluster. Use replication to prevent loss of session data with
session manager, to further improve the performance of the dynamic
cache service, and to provide failover in stateful session beans.
For more information about replication, see
Replication.
Avoid trouble: If you select the
Configure HTTP memory-to-memory
replication option when you create a cluster, the replication
domain is automatically created for you.
gotcha
Procedure
- Create a replication domain. Use one of the
following methods to create a replication domain:
- Create a replication domain manually.
To create a replication
domain manually without creating a new cluster, click Environment
> Replication domains > New in the administrative console.
On
this page you can specify the properties for the replication domain,
including timeout, encryption, and number of replicas. See Data replication domain settings for
more information about the properties that you can configure for your
replication domain.
- Create a replication domain when you create
a cluster.
To create a replication domain when you create a
cluster, click Servers > Clusters > New in the administrative
console. Then click Configure HTTP memory-to-memory replication.
The replication domain that is created has the same name as the cluster
and has the default settings for a replication domain. The default
settings for a replication domain are to create a single replica of
each piece of data and to have encryption disabled. To modify these
replication domain properties, click Environment > Replication
domains > replication_domain_name in the administrative
console.
For more information about the replication domain
settings that you can configure in the administrative console, see Data replication domain settings
- Configure the consumers, or the components that use the
replication domains. Dynamic cache, session manager, and
stateful session beans are the three types of replication domain consumers.
Each type of consumer must be configured with a different replication
domain. For example, session manager uses one domain and dynamic cache
uses a different replication domain. However, use one replication
domain if you are configuring HTTP session memory-to-memory replication
and stateful session bean replication. Using one replication domain
in this case ensures that the backup state information of HTTP sessions
and stateful session beans are on the same application servers.
- Determine whether
your configuration requires additional thread resources.
The
replication service uses threads obtained from the Default thread
pool for various tasks, including processing messages. Other application
server components also use this thread pool. Therefore, during application
server startup the default maximum thread pool size of 20 might not
be sufficient to allow the replication service to obtain enough threads
from the pool to process all of the incoming replication messages.
The number of incoming messages is influenced by the number of application
servers in the domain and the number of replication domain consumers
on each application server. The number of messages to be processed
increases as the number of application servers in the domain increases
and/or the number of replication consumers increases.
Persistent
data not being replicated to the application servers during server
startup might be an indication that you need to increase the setting
for the maximum thread pool size. In larger configurations, doubling
the maximum size of the Default thread pool to 40 is usually sufficient.
However, if the number of application servers in a replication domain
is greater ten and the number of replication domain consumers in each
application server is greater than two, it might have to set the maximum
thread pool size to a value greater than 40. See Thread pool settings for a description
of how to change the maximum thread pool size setting.
With this fix pack, the replication service
uses threads that are obtained from the DRS thread pool for various
tasks, including processing messages. Previously, the replication
service obtained threads from the default thread pool. When the application
server starts up, the default maximum thread pool size for the DRS
thread pool is 100 threads. However, this thread pool size might not
be sufficient to enable the replication service to obtain enough threads
from the pool to process all of the incoming replication messages.
The number of incoming messages is influenced by the number of application
servers in the domain and the number of replication domain consumers
on each application server. The number of messages to be processed
increases as the number of application servers in the domain increases,
the number of replication consumers increases, or both.
![[Fix Pack 35 or later]](../../ngfp35.gif)
Persistent data that is not being replicated
to the application servers when the application server starts up might
indicate that you need to increase the setting for the maximum thread
pool size. The maximum size of the DRS thread pool set to 100 is usually
sufficient. However, in very large topologies, you might need to set
the maximum thread pool size to a value that is greater than 100.
Table 1. DRS thread pool custom properties. You can set
the properties of the DRS thread pool through the following Java virtual
machine custom properties.
Property name |
Default value |
DRS_THREADPOOL_MINSIZE |
40 |
DRS_THREADPOOL_MAXSIZE |
100 |
DRS_THREADPOOL_ISGROWABLE |
false |
For more information, see the documentation about Java virtual
machine custom properties.
Results
Data is replicating among the application servers in a configured
replication domain.
What to do next
If you select DES or 3DES as the encryption type for a replication
domain, an encryption key is used for the encryption of messages.
At regular intervals, for example once a month, you should go to the Environment
> Replication domains page in the administrative console, and
click Regenerate encryption key to regenerate the key. After
the key is regenerated, you must restart all of the application servers
that are configured as part of the replication domain. Periodically
regenerating the key improves data security.