搜索

11.4. 自定义 JGroups 堆栈

download PDF

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

数据网格提供属性,使您能够扩展默认的 JGroups 堆栈以简化配置。您可以在组合、删除和替换其他属性的同时从默认堆栈中继承属性。

流程

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

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

    <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>
        <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>
      </jgroups>
    </infinispan>
  6. 检查 Data Grid 日志,以确保其使用堆栈。

    [org.infinispan.CLUSTER] ISPN000078: Starting JGroups channel cluster with stack my-stack

参考

11.4.1. 继承属性

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

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

    Description

    组合

    覆盖协议属性。

    替换

    替换协议。

    INSERT_AFTER

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

    JGroups 堆栈中的协议根据它们在堆栈中的位置相互影响。例如,您应该在 SYM_ENCRYPTASYM_ENCRYPT 协议后面放置 等协议,以便 NAKACK2 已安全。

    INSERT_BEFORE

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

    删除

    从堆栈中删除协议。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.