2.2. Data Grid 服务器配置
Data Grid 提供了一个可扩展的数据层,可让您智能、高效地使用可用的计算资源。为了通过数据网格服务器部署实现此目的,配置被分为两个层: dynamic 和 static。
动态配置
动态配置是可变的,在运行时更改,在创建缓存时,向集群添加和删除节点。
部署 Data Grid Server 集群后,您可以通过 Data Grid CLI、Data Grid Console 或 Hot Rod 和 REST 端点创建缓存。Data Grid Server 将这些缓存永久存储为跨节点分布的集群状态的一部分。每个加入节点都会收到在发生更改时,Data Grid Server 会在所有节点间自动同步的完整集群状态。
静态配置
静态配置不可变,在运行时保持不变。
在设置底层机制时,您可以定义静态配置,如集群传输、身份验证和加密、共享数据源等。
默认情况下,Data Grid 服务器使用 $RHDG_HOME/server/conf/infinispan.xml 进行静态配置。
配置的根元素是 infinispan,并声明两个基本模式:
<infinispan
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:infinispan:config:13.0 https://infinispan.org/schemas/infinispan-config-13.0.xsd
urn:infinispan:server:13.0 https://infinispan.org/schemas/infinispan-server-13.0.xsd"
xmlns="urn:infinispan:config:13.0"
xmlns:server="urn:infinispan:server:13.0">
-
urn:infinispan:config模式验证缓存容器等核心 Infinispan 功能的配置。 -
urn:infinispan:server模式验证 Data Grid Server 的配置。
缓存容器配置
您可以使用 cache-container 元素配置 CacheManager 接口,它提供管理缓存生命周期的机制:
<!-- Creates a cache manager named "default" that exports statistics. -->
<cache-container name="default"
statistics="true">
<!-- Defines cluster transport properties, including the cluster name. -->
<!-- Uses the default TCP stack for inter-cluster communication. -->
<transport cluster="${infinispan.cluster.name}"
stack="${infinispan.cluster.stack:tcp}"
node-name="${infinispan.node.name:}"/>
</cache-container>
cache-container 元素也可以包含以下配置元素:
-
缓存管理器
的安全性。 -
MicroProfile 兼容指标的指标。
-
JMX用于 JMX 监控和管理.
在以前的版本中,您可以在 Data Grid 配置中定义多个 cache-container 元素,以便在不同的端点上公开缓存容器。
在 Data Grid 8 中,不得配置多个缓存容器,因为 Data Grid CLI 和 Console 只能处理每个集群的一个缓存管理器。但是,如果需要,您可以将缓存容器的名称更改为比"default"更有意义的环境。
您应该使用单独的 Data Grid 集群来实现多租户,以确保缓存管理器不会相互干扰。
服务器配置
您可以使用 server 元素配置底层 Data Grid 服务器机制:
<server>
<interfaces>
<interface name="public">
<inet-address value="${infinispan.bind.address:127.0.0.1}"/>
</interface>
</interfaces>
<socket-bindings default-interface="public"
port-offset="${infinispan.socket.binding.port-offset:0}">
<socket-binding name="default"
port="${infinispan.bind.port:11222}"/>
<socket-binding name="memcached" port="11221"/>
</socket-bindings>
<security>
<security-realms>
<security-realm name="default">
<server-identities>
<ssl>
<keystore path="application.keystore"
keystore-password="password"
alias="server"
key-password="password"
generate-self-signed-certificate-host="localhost"/>
</ssl>
</server-identities>
<properties-realm groups-attribute="Roles">
<user-properties path="users.properties"
relative-to="infinispan.server.config.path"
plain-text="true"/>
<group-properties path="groups.properties"
relative-to="infinispan.server.config.path" />
</properties-realm>
</security-realm>
</security-realms>
</security>
<endpoints socket-binding="default" security-realm="default" />
</server>
- 1
- 创建名为"public"的接口,使服务器在您的网络上可用。
- 2
- 将
127.0.0.1环回地址用于公共接口。 - 3
- 将公共接口绑定到 Data Grid Server 端点侦听传入客户端连接的网络端口。
- 4
- 为网络端口指定偏移 0。
- 5
- 创建名为 "default" 的套接字绑定。
- 6
- 为套接字绑定指定端口
11222。 - 7
- 为 Memcached 连接器在端口
11221创建套接字绑定。 - 8
- 定义保护端点不受网络入侵的安全域。
- 9
- 创建名为"default"的安全域。
- 10
- 配置用于身份验证的 SSL/TLS 密钥存储。
- 11
- 指定包含服务器证书的密钥存储。
- 12
- 配置"默认"安全域,以使用属性文件来定义将用户映射到角色的用户和组。
- 13
- 命名包含 Data Grid 用户的属性文件。
- 14
- 指定
users.properties文件的内容存储为纯文本。 - 15
- 命名将 Data Grid 用户映射到角色的属性文件。
- 16
- 使用 Hot Rod 和 REST 连接器配置端点。
本例显示隐式
hotrod-connector和rest-connector元素,这是 Data Grid 8.2 的默认设置。
8.0 和 8.1 中的数据网格服务器配置使用明确声明的 Hot Rod 和 REST 连接器。