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 component that performs replication
services, including replicating data, objects, and events among application
servers.
Before you begin
Determine if you are using a multi-broker replication domain.
If you configured a data replication domain with a previous version
of the product, you might be using a multi-broker replication domain.
Any replication domains that you create with the current version of
the product are data replication domains. You should migrate any multi-broker
replication domains to data replication domains.
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.
Avoid trouble: If you select the option when you create a cluster, the replication domain
is automatically created for you.
gotcha
Similarly if, instead of
WAS01Network , the cell name is simply WAS1, you have to pad the high
level qualifier with the first three characters of the string DRSSTREAM.
The high level qualifier then becomes WAS1DRS.
Complete the
following steps to enable data replication among the application servers
in a cluster.
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 in the administrative console.
On this page you
can specify the properties for the replication domain, including timeout,
encryption, and number of replicas.
- Create a replication domain when you create a cluster.
To
create a replication domain when you create a cluster, click in the administrative console. Then click . 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 the replication domain properties, click replication_domain_name in the administrative
console.
- 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 replication 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.
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.
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 page in the administrative console, and click 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.