此内容没有您所选择的语言版本。
27.3.2. Configure Cross-Data Replication (Library Mode)
When configuring Cross-Datacenter Replication, the
relay.RELAY2 protocol creates an additional stack (running parallel to the existing TCP stack) to communicate with the remote site. If a TCP-based stack is used for the local cluster, two TCP based stack configurations are required: one for local communication and one to connect to the remote site.
In JBoss Data Grid's Library mode, cross-datacenter replication is set up as follows:
Procedure 27.2. Setting Up Cross-Datacenter Replication
Configure the Local Site
Add thesiteelement to theglobalelement to add the local site (in this example, the local site is namedLON).<infinispan> <global> ... <site local="LON" /> ... </global> </infinispan>Configure JGroups for the Local Site
Cross-site replication requires a non-default JGroups configuration. Add thetransportelement and set up the path to the configuration file as theconfigurationFileproperty. In this example, the JGroups configuration file is namedjgroups-with-relay.xml.<infinispan> <global> ... <site local="LON" /> <transport clusterName="default"> <properties> <property name="configurationFile" value="jgroups-with-relay.xml" /> </properties> </transport> ... </global> </infinispan>Configure the LON Cache
Configure the cache in siteLONto back up to the sitesNYCandSFO:<infinispan> <global> <site local="LON" /> ... </global> ... <namedCache name="lon"> <sites> <backups> <backup site="NYC" strategy="SYNC" backupFailurePolicy="WARN" /> <backup site="SFO" strategy="ASYNC" backupFailurePolicy="IGNORE"/> </backups> </sites> </namedCache> </infinispan>Configure the Back Up Caches
- Configure the cache in site
NYCto receive back up data fromLON:<infinispan> <global> <site local="NYC" /> ... </global> ... <namedCache name="lonBackup"> <sites> <backupFor remoteSite="LON" remoteCache="lon" /> </sites> </namedCache> </infinispan> - Configure the cache in site
SFOto receive back up data fromLON:<infinispan> <global> <site local="SFO" /> ... </global> ... <namedCache name="lonBackup"> <sites> <backupFor remoteSite="LON" remoteCache="lon" /> </sites> </namedCache> </infinispan>
Add the Contents of the Configuration File
As a default, Red Hat JBoss Data Grid includes JGroups configuration files such asjgroups-tcp.xmlandjgroups-udp.xmlin theinfinispan-core-{VERSION}.jarpackage.Copy the JGroups configuration to a new file (in this example, it is namedjgroups-with-relay.xml) and add the provided configuration information to this file. Note that therelay.RELAY2protocol configuration must be the last protocol in the configuration stack.<config> ... <relay.RELAY2 site="LON" config="relay.xml" relay_multicasts="false" /> </config>Configure the relay.xml File
Set up therelay.RELAY2configuration in therelay.xmlfile. This file describes the global cluster configuration.<RelayConfiguration> <sites> <site name="LON" id="0"> <bridges> <bridge config="jgroups-global.xml" name="global"/> </bridges> </site> <site name="NYC" id="1"> <bridges> <bridge config="jgroups-global.xml" name="global"/> </bridges> </site> <site name="SFO" id="2"> <bridges> <bridge config="jgroups-global.xml" name="global"/> </bridges> </site> </sites> </RelayConfiguration>Configure the Global Cluster
The filejgroups-global.xmlreferenced inrelay.xmlcontains another JGroups configuration which is used for the global cluster: communication between sites.The global cluster configuration is usuallyTCP-based and uses theTCPPINGprotocol (instead ofPINGorMPING) to discover members. Copy the contents ofjgroups-tcp.xmlintojgroups-global.xmland add the following configuration in order to configureTCPPING:<config> <TCP bind_port="7800" ... /> <TCPPING initial_hosts="lon.hostname[7800],nyc.hostname[7800],sfo.hostname[7800]" num_initial_members="3" ergonomics="false" /> <!-- Rest of the protocols --> </config>Replace the hostnames (or IP addresses) inTCPPING.initial_hostswith those used for your site masters. The ports (7800in this example) must match theTCP.bind_port.For more information about theTCPPINGprotocol, see Section 24.3.1.3, “Using the TCPPing Protocol”