23.3.2. Configure Cross-Datacentre Replication (Library Mode)


When configuring Cross-Datacentre 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 Red Hat JBoss Data Grid's Library mode, cross-datacentre replication is set up as follows:

Procedure 23.2. Configure Cross-Datacentre Replication (Library Mode)

  1. Configure the Local Site

    1. Add the site element to the global element to add the local site (in this example, the local site is named LON).
      <infinispan>
         <global>
            ...
            <site local="LON" />
            ...   
         </global>
      </infinispan>
      
      Copy to Clipboard Toggle word wrap
    2. Cross-site replication requires a non-default JGroups configuration. Add the transport element and set up the path to the configuration file as the configurationFile property. In this example, the JGroups configuration file is named jgroups-with-relay.xml.
      <infinispan>
         <global>
            ...
            <site local="LON" />
            <transport clusterName="default"> 
               <properties> 
                   <property name="configurationFile" value="jgroups-with-relay.xml" />     
                </properties> 
            </transport> 
            ...   
         </global>
      </infinispan>
      
      Copy to Clipboard Toggle word wrap
  2. Add the Contents of the Configuration File

    As a default, Red Hat JBoss Data Grid includes JGroups configuration files such as jgroups-tcp.xml and jgroups-udp.xml in the infinispan-core-{VERSION}.jar package.
    Copy the JGroups configuration to a new file (in this example, it is named jgroups-with-relay.xml) and add the provided configuration information to this file. Note that the relay.RELAY2 protocol configuration must be the last protocol in the configuration stack.
    <config> 
        ... 
        <relay.RELAY2 site="LON" 
                      config="relay.xml" 
                      can_become_site_master="true" 
                      max_site_masters="1"/> 
    </config>>
    
    Copy to Clipboard Toggle word wrap
  3. Configure the relay.xml File

    Set up the relay.RELAY2 configuration in the relay.xml file. 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>
    
    Copy to Clipboard Toggle word wrap
  4. Configure the Global Cluster

    The file jgroups-global.xml referenced in relay.xml contains another JGroups configuration which is used for the global cluster: communication between sites.
    The global cluster configuration is usually TCP-based and uses the TCPPING protocol (instead of PING or MPING) to discover members. Copy the contents of jgroups-tcp.xml into jgroups-global.xml and add the following configuration in order to configure TCPPING:
    <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>
    
    Copy to Clipboard Toggle word wrap
    Replace the hostnames (or IP addresses) in TCPPING.initial_hosts with those used for your site masters. The ports (7800 in this example) must match the TCP.bind_port.
  5. File Locations

    Ensure all the created files are on the classpath before using the new configurations.
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2026 Red Hat
Back to top