第 5 章 设置 Data Grid 集群


Data Grid 需要传输层,以便节点可以自动加入和离开集群。传输层还可让数据在网络间复制或分发数据,并执行操作,如重新平衡和状态传输。

5.1. 默认堆栈入门

Data Grid 使用 JGroups 协议堆栈,以便节点可以在专用集群通道上发送其他消息。

Data Grid 为 UDPTCP 协议提供预配置的 JGroups 堆栈。您可以使用这些默认堆栈作为构建自定义集群传输配置的起点,该配置根据您的网络要求进行了优化。

流程

  1. infinispan-core-11.0.9.Final -redhat-00001.jar 文件的 default-configs 目录中找到默认的 JGroups 堆栈 default-jgroups-2022-3.xml

    jar 文件位于 $RHDG_HOME/lib 目录中。

  2. 执行以下操作之一:

    • 使用 infinispan.xml 文件中的 stack 属性。

      <infinispan>
        <cache-container default-cache="replicatedCache">
          <transport cluster="${infinispan.cluster.name}"
                     stack="udp" 
      1
      
                     node-name="${infinispan.node.name:}"/>
        </cache-container>
      </infinispan>
      Copy to Clipboard Toggle word wrap
      1
      default-jgroups-udp.xml 用于集群传输。
    • 在启动服务器时使用 cluster-stack 参数:

      $ bin/server.sh --cluster-stack=udp
      Copy to Clipboard Toggle word wrap

Data Grid 记录以下信息以指示它使用的堆栈:

[org.infinispan.CLUSTER] ISPN000078: Starting JGroups channel cluster with stack udp
Copy to Clipboard Toggle word wrap

参考

5.1.1. 默认 JGroups Stacks

了解配置集群传输的默认 JGroups 堆栈。

Expand
文件名堆栈名称描述

default-jgroups-udp.xml

udp

使用 UDP 进行传输和 UDP 多播进行发现。适用于较大的集群(超过 100 个节点),或者使用复制缓存或无效模式。最小化打开的插槽数量。

default-jgroups-tcp.xml

tcp

使用 TCP 传输和 MPING 协议进行发现,它使用 UDP 多播。只有在使用分布式缓存 时,只适用于 较小的集群(在 100 个节点下),因为 TCP 比 UDP 作为点对点协议更高效。

default-jgroups-ec2.xml

ec2

使用 TCP 进行传输,S3_PING 进行发现。适用于 UDP 多播不可用的 Amazon EC2 节点。

default-jgroups-kubernetes.xml

kubernetes

使用 TCP 进行传输,DNS_PING 进行发现。适用于始终提供 UDP 多播的 Kubernetes 和 Red Hat OpenShift 节点。

default-jgroups-google.xml

google

使用 TCP 进行传输,GOOGLE_PING2 进行发现。适用于没有 UDP 多播的 Google Cloud Platform 节点。

default-jgroups-azure.xml

azure

使用 TCP 进行传输,AZURE_PING 进行发现。适用于没有 UDP 多播的 Microsoft Azure 节点。

5.1.2. 集群流量的 TCP 和 UDP 端口

Data Grid 对集群传输信息使用以下端口:

Expand
默认端口协议描述

7800

TCP/UDP

JGroups 集群绑定端口

46655

UDP

JGroups 多播

跨站点复制

Data Grid 为 JGroups RELAY2 协议使用以下端口:

7900
对于在 OpenShift 上运行的 Data Grid 集群。
7800
如果将 UDP 用于节点间的流量,使用 TCP 作为集群之间的流量。
7801
如果将 TCP 用于节点和 TCP 间的流量,用于集群之间的流量。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat