29.4. Configure Multiple Site Masters

A standard Red Hat JBoss Data Grid cross-datacenter replication configuration includes one master node for each site. The master node is a gateway for other nodes to communicate with the master nodes at other sites.
This standard configuration works for a simple cross-datacenter replication configuration. However, with a larger volume of traffic between the sites, passing traffic through a single master node can create a bottleneck, which slows communication across nodes.
In JBoss Data Grid, configure multiple master nodes for each site to optimize traffic across multiple sites.

29.4.1. Multiple Site Master Operations

When multiple site masters are enabled and configured, the master nodes in each site joins the local cluster (i.e. the local site) as well as the global cluster (which includes nodes that are members of multiple sites).
Each node that acts as a site master and maintains a routing table that consists of a list of target sites and site masters. When a message arrives, a random master node for the destination site is selected. The message is then forwarded to the random master node, where it is sent to the destination node (unless the randomly selected node was the destination).

29.4.2. Configure Multiple Site Masters (Remote Client-Server Mode)

Prerequisites

Configure Cross-Datacenter Replication for Red Hat JBoss Data Grid's Remote Client-Server Mode.

Procedure 29.4. Set Multiple Site Masters in Remote Client-Server Mode

  1. Locate the Target Configuration

    Locate the target site's configuration in the clustered-xsite.xml example configuration file. The sample configuration looks like the following example:
    <relay site="LON">
    	<remote-site name="NYC" stack="tcp" cluster="global"/>
    	<remote-site name="SFO" stack="tcp" cluster="global"/>
    	<property name="relay_multicasts">false</property>
    </relay>
  2. Configure Maximum Sites

    Use the max_site_masters property to determine the maximum number of master nodes within the site. Set this value to the number of nodes in the site to make every node a master.
    <relay site="LON">
    	<remote-site name="NYC" stack="tcp" cluster="global"/>
    	<remote-site name="SFO" stack="tcp" cluster="global"/>
    	<property name="relay_multicasts">false</property>
    	<property name="max_site_masters">16</property>
    </relay>
  3. Configure Site Master

    Use the can_become_site_master property to allow the node to become the site master. This flag is set to true as a default. Setting this flag to false prevents the node from becoming a site master. This is required in situations where the node does not have a network interface connected to the external network.
    <relay site="LON">
    	<remote-site name="NYC" stack="tcp" cluster="global"/>
    	<remote-site name="SFO" stack="tcp" cluster="global"/>
    	<property name="relay_multicasts">false</property>
    	<property name="max_site_masters">16</property>
    	<property name="can_become_site_master">true</property>
    </relay>

29.4.3. Configure Multiple Site Masters (Library Mode)

To configure multiple site masters in Red Hat JBoss Data Grid's Library Mode:

Procedure 29.5. Configure Multiple Site Masters (Library Mode)

  1. Configure Cross-Datacenter Replication

    Configure Cross-Datacenter Replication in JBoss Data Grid. Use the instructions in Section 29.2.2.1, “Configure Cross-Datacenter Replication Declaratively” for an XML configuration or the instructions in Section 29.2.2.2, “Configure Cross-Datacenter Replication Programmatically” for a programmatic configuration.
  2. Add the Contents of the Configuration File

    Add the can_become_site_master and max_site_masters parameters to the configuration as follows:
    <config> 
        ... 
        <relay.RELAY2 site="LON" 
                  config="relay.xml" 
                  relay_multicasts="false"
                  can_become_site_master="true" 
                  max_site_masters="16"/>
    </config>
    Set the max_site_masters value to the number of nodes in the cluster to make all nodes masters.