Red Hat Data Grid
Data Grid 是一个高性能分布式内存数据存储。
- 无架构数据结构
- 将不同对象存储为键值对的灵活性。
- 基于网格的数据存储
- 旨在在集群中分发和复制数据。
- 弹性扩展
- 动态调整节点数量,以便在不中断服务的情况下满足需求。
- 数据互操作性
- 从不同端点在网格中存储、检索和查询数据。
1. Data Grid RESP 端点 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
默认情况下,RESP 端点在单端口端点上启用。Redis 客户端连接会自动检测到并路由到内部连接器。RESP 端点可以正常工作:
- 独立数据网格服务器部署(与独立的 Redis 一样,每个服务器实例相互独立运行)。
- 集群数据网格服务器部署,其中服务器实例在彼此之间复制或分发数据。集群部署为客户端提供故障转移功能。
先决条件
- 安装 Data Grid Server。
流程
验证
当您启动 Data Grid Server 检查时,以下日志消息:
[org.infinispan.SERVER] ISPN080018: Started connector Resp (internal)
[org.infinispan.SERVER] ISPN080018: Started connector Resp (internal)
现在,您可以使用 Redis 客户端连接到 RESP 端点。例如,通过 Redis CLI,您可以执行以下操作在缓存中添加一个条目:
redis-cli -p 11222 --user username --pass password
redis-cli -p 11222 --user username --pass password
127.0.0.1:11222> SET k v OK 127.0.0.1:11222> GET k "v" 127.0.0.1:11222> quit
127.0.0.1:11222> SET k v
OK
127.0.0.1:11222> GET k
"v"
127.0.0.1:11222> quit
1.1. 为 RESP 端点配置缓存 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
RESP 端点会自动配置并启动 respCache 缓存。这个缓存有以下配置:
-
local-cache或distributed-cache,具体取决于 Data Grid Server 集群模式。 -
键和值的应用程序/octet-stream编码。 -
RESPHashFunctionPartitionerhash partitioner,它支持 Redis 客户端使用的 CRC16 哈希
明确缓存的配置
可为缓存提供自定义配置,只要它不违反 RESP 连接器的要求,在这种情况下,服务器会引发异常且不会启动。主要限制是:
-
哈希分区功能必须是
org.infinispan.distribution.ch.impl.RESPHashFunctionPartitioner。 -
密钥编码必须是
application/octet-stream。
明确缓存配置示例如下:
XML
<distributed-cache name="respCache" aliases="0" owners="2"
key-partitioner="org.infinispan.distribution.ch.impl.RESPHashFunctionPartitioner"
mode="SYNC" remote-timeout="17500" statistics="true">
<encoding media-type="application/octet-stream"/>
</distributed-cache>
<distributed-cache name="respCache" aliases="0" owners="2"
key-partitioner="org.infinispan.distribution.ch.impl.RESPHashFunctionPartitioner"
mode="SYNC" remote-timeout="17500" statistics="true">
<encoding media-type="application/octet-stream"/>
</distributed-cache>
JSON
YAML
提示
如果要在 Data Grid Console 中查看缓存条目(值为media-type="application/x-protostream"),请使用 Protobuf 编码配置缓存值编码。
显式 RESP 端点配置
如果单端口端点使用的隐式配置不适合您的需要,可以使用显式配置。
XML
JSON
YAML