3.5. Data Grid 集群传输
Data Grid 使用 JGroups 技术来处理集群节点之间的通信。
JGroups 堆栈配置元素和属性与之前的数据网格版本没有显著更改。
与之前的版本一样,Data Grid 提供预配置的 JGroups 堆栈,可用作构建针对网络要求自定义集群传输配置的起点。同样,Data Grid 提供了将外部 XML 文件中定义的 JGroups 堆栈添加到 infinispan.xml 的功能。
Data Grid 8 提高了可用性,以便更轻松地进行集群传输配置:
-
内联堆栈允许您使用
jgroups元素直接在infinispan.xml中配置 JGroups 堆栈。 -
在
infinispan.xml中声明 JGroups 模式。 - 预配置的 JGroups 堆栈,适用于 UDP 和 TCP 协议。
- 继承属性,允许您扩展 JGroups 堆栈来调整特定的协议和属性。
<infinispan
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:infinispan:config:15.0 https://infinispan.org/schemas/infinispan-config-15.0.xsd
urn:infinispan:server:15.0 https://infinispan.org/schemas/infinispan-server-15.0.xsd
urn:org:jgroups http://www.jgroups.org/schema/jgroups-4.2.xsd"
xmlns="urn:infinispan:config:15.0"
xmlns:server="urn:infinispan:server:15.0">
<jgroups>
<stack name="xsite" extends="udp">
<relay.RELAY2 site="LON" xmlns="urn:org:jgroups"/>
<remote-sites default-stack="tcp">
<remote-site name="LON"/>
<remote-site name="NYC"/>
</remote-sites>
</stack>
</jgroups>
<cache-container ...>
...
</infinispan>
3.5.1. 传输安全性 复制链接链接已复制到粘贴板!
如之前的版本,Data Grid 8 使用 JGroups SYM_ENCRYPT 和 ASYM_ENCRYPT 协议来加密集群通信。
从 Data Grid 开始,您还可以使用包含密钥存储和信任存储作为 TLS 服务器身份的安全域,以保护集群传输,例如:
<cache-container>
<transport server:security-realm="tls-transport"/>
</cache-container>
节点身份验证
在 Data Grid 7.x 中,JGroups SASL 协议可让节点对嵌入式和远程服务器安装中的安全域进行身份验证。
从 Data Grid 8 开始,无法针对安全域配置节点身份验证。同样,Data Grid 8 不推荐使用 JGroups AUTH 协议来验证集群节点。
但是,对于嵌入式 Data Grid 安装,JGroups 集群传输包含 SASL 配置,作为 jgroups 元素的一部分。与之前的版本一样,SASL 配置依赖于 JAAS 的概念,如 CallbackHandlers,以获取节点身份验证所需的某些信息。
3.5.2. 重新传输请求 复制链接链接已复制到粘贴板!
Data Grid 8.2 更改默认 JGroups 堆栈中为 UNICAST3 和 NAKACK2 协议重新传输请求的配置,如下所示:
-
xmit_interval属性的值从 100 毫秒增加到 200 毫秒。 -
max_xmit_req_size属性现在为每个重新传输请求设置最多 500 个消息,而不是最多使用 TCP 的 UDP 或 64000 的 8500 个消息。
作为迁移到 Data Grid 8 的一部分,您应该调整任何自定义 JGroups 堆栈配置,以使用这些推荐的设置。