12.4. 自定义 JGroups 堆栈


调整和调优属性,以创建适合您的网络要求的集群传输配置。

Data Grid 提供可让您扩展默认 JGroups 堆栈以方便配置的属性。您可以在合并、删除和替换其他属性时从默认堆栈继承属性。

流程

  1. infinispan.xml 文件中创建一个新的 JGroups 堆栈声明。
  2. 添加 extends 属性,并指定 JGroups 堆栈来继承属性。
  3. 使用 stack.combine 属性修改继承堆栈中配置的协议的属性。
  4. 使用 stack.position 属性定义自定义堆栈的位置。
  5. 指定堆栈名称,作为 传输 配置中 stack 属性的值。

    例如,您可以使用 Gossip 路由器和使用默认 TCP 堆栈的对称加密来评估,如下所示:

    <infinispan>
      <jgroups>
        <!-- Creates a custom JGroups stack named "my-stack". -->
        <!-- Inherits properties from the default TCP stack. -->
        <stack name="my-stack" extends="tcp">
          <!-- Uses TCPGOSSIP as the discovery mechanism instead of MPING -->
          <TCPGOSSIP initial_hosts="${jgroups.tunnel.gossip_router_hosts:localhost[12001]}"
                 stack.combine="REPLACE"
                 stack.position="MPING" />
          <!-- Removes the FD_SOCK2 protocol from the stack. -->
          <FD_SOCK2 stack.combine="REMOVE"/>
          <!-- Modifies the timeout value for the VERIFY_SUSPECT2 protocol. -->
          <VERIFY_SUSPECT2 timeout="2000"/>
          <!-- Adds SYM_ENCRYPT to the stack after VERIFY_SUSPECT2. -->
          <SYM_ENCRYPT sym_algorithm="AES"
                       keystore_name="mykeystore.p12"
                       keystore_type="PKCS12"
                       store_password="changeit"
                       key_password="changeit"
                       alias="myKey"
                       stack.combine="INSERT_AFTER"
                       stack.position="VERIFY_SUSPECT2" />
        </stack>
      </jgroups>
      <cache-container name="default" statistics="true">
        <!-- Uses "my-stack" for cluster transport. -->
        <transport cluster="${infinispan.cluster.name}"
                   stack="my-stack"
                   node-name="${infinispan.node.name:}"/>
      </cache-container>
    </infinispan>
    Copy to Clipboard Toggle word wrap
  6. 检查 Data Grid 日志,以确保它使用堆栈。

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

参考

12.4.1. 继承属性

当您扩展 JGroups 堆栈时,继承属性允许您调整您要扩展的堆栈中的协议和属性。

  • stack.position 指定要修改的协议。
  • stack.combine 使用以下值来扩展 JGroups 堆栈:

    Expand
    value描述

    组合

    覆盖协议属性。

    REPLACE

    替换协议。

    INSERT_AFTER

    在另一个协议后将协议添加到堆栈中。不会影响指定为插入点的协议。

    JGroups 堆栈中的协议会根据堆栈中的位置相互影响。例如,您应该在 SYM_ENCRYPTASYM_ENCRYPT 协议后放置 NAKACK2 等协议,以便保护 NAKACK2

    INSERT_BEFORE

    在另一个协议前,将协议插入到堆栈中。影响您指定为插入点的协议。

    删除

    从堆栈中删除协议。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat