第 2 章 为跨站点复制配置数据网格


配置 Data Grid 以跨站点复制数据,首先设置集群传输,以便数据网格集群可以相互发现,站点 master 可以进行通信。然后,您将备份位置添加到 Data Grid 配置中的缓存定义中。

2.1. 为跨站点复制配置集群传输

将 JGroups RELAY2 添加到您的传输层,以便数据网格集群可以与备份位置通信。

流程

  1. 打开 infinispan.xml 进行编辑。
  2. 将 RELAY2 协议添加到 JGroups 堆栈,例如:

    <jgroups>
       <stack name="xsite" extends="udp">
          <relay.RELAY2 site="LON" xmlns="urn:org:jgroups" max_site_masters="1000"/>
          <remote-sites default-stack="tcp">
             <remote-site name="LON"/>
             <remote-site name="NYC"/>
          </remote-sites>
       </stack>
    </jgroups>
    Copy to Clipboard Toggle word wrap
  3. 将 Data Grid 集群传输配置为使用堆栈,如下例所示:

    <cache-container name="default" statistics="true">
      <transport cluster="${cluster.name}" stack="xsite"/>
    </cache-container>
    Copy to Clipboard Toggle word wrap
  4. 保存并关闭 infinispan.xml

2.1.1. JGroups RELAY2 Stacks

Data Grid 集群使用 JGroups RELAY2 进行集群内部发现和通信。

<jgroups>
   <stack name="xsite" 
1

          extends="udp"> 
2

      <relay.RELAY2 xmlns="urn:org:jgroups" 
3

                    site="LON" 
4

                    max_site_masters="1000"/> 
5

      <remote-sites default-stack="tcp"> 
6

         <remote-site name="LON"/> 
7

         <remote-site name="NYC"/>
      </remote-sites>
   </stack>
</jgroups>
Copy to Clipboard Toggle word wrap
1
定义一个名为"xsite"的堆栈,用于声明用于数据网格集群传输的协议。
2
将默认的 JGroups UDP 堆栈用于集群内流量。
3
RELAY2 添加到堆栈中以进行集群内部传输。
4
将本地站点命名为。Data Grid 将缓存中的数据从此站点复制到备份位置。
5
为本地集群配置最多 1000 个站点 master。您应该设置 max_site_masters >= Data Grid 集群中的节点数,以使用备份请求获得最佳性能。
6
指定所有站点名称,并使用默认的 JGroups TCP 堆栈进行集群间传输。
7
将每个远程站点命名为备份位置。

2.1.2. 自定义 JGroups RELAY2 Stacks

<jgroups>
   <stack name="relay-global" extends="tcp"> 
1

         <MPING stack.combine="REMOVE"/>
         <TCPPING initial_hosts="192.0.2.0[7800]" stack.combine="INSERT_AFTER" stack.position="TCP"/>
    </stack>
   <stack name="xsite" extends="udp">
      <relay.RELAY2 site="LON" xmlns="urn:org:jgroups"
                    max_site_masters="10" 
2

                    can_become_site_master="true"/>
      <remote-sites default-stack="relay-global">
         <remote-site name="LON"/>
         <remote-site name="NYC"/>
      </remote-sites>
   </stack>
</jgroups>
Copy to Clipboard Toggle word wrap
1
添加扩展 TCP 堆栈并使用 TCPPING 而不是 MPING 进行发现的自定义 RELAY2 堆栈。
2
设置站点 master 的最大数量,并选择性地指定额外的 RELAY2 属性。请参阅 JGroups RELAY2 文档。

您还可以引用外部定义的 JGroups 堆栈文件,如下所示:

<stack-file name="relay-global" path="jgroups-relay.xml"/>
Copy to Clipboard Toggle word wrap

在前面的配置 jgroups-relay.xml 中,提供了一个 JGroups 堆栈,例如:

<config xmlns="urn:org:jgroups"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/jgroups-4.2.xsd">

    <!-- Use TCP for inter-cluster transport. -->
    <TCP bind_addr="127.0.0.1"
         bind_port="7200"
         port_range="30"

         thread_pool.min_threads="0"
         thread_pool.max_threads="8"
         thread_pool.keep_alive_time="5000"
    />

    <!-- Use TCPPING for inter-cluster discovery. -->
    <TCPPING timeout="3000"
             initial_hosts="127.0.0.1[7200]"
             port_range="3"
             ergonomics="false"/>

    <!-- Provide other JGroups stack configuration as required. -->
</config>
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat