Data Grid 8.3新特性解析:SQL缓存存储与跨站点复制

本文详细介绍了Red Hat Data Grid 8.3的新特性,包括增强的跨站点复制可观测性、两种新型SQL缓存存储、多重安全领域配置、Helm图表部署支持以及命令行界面改进等核心技术内容。

SQL缓存存储与更多功能在Data Grid 8.3中的实现

增强可观测性的跨站点复制

在最新的Data Grid版本中,您可以跟踪每个备份位置及其缓存的跨站点复制操作,包括响应时间和交换的RELAY消息数量,如图1所示。

图1. 跨站点复制涉及多个不同层级的消息。

我们还通过CLI、REST API和Java管理扩展(JMX)提供数据访问,为集群操作员提供更好的用户体验。由于为路由跨站点复制请求提供了专用的、由操作员管理的Pod,跨站点复制也更加透明和可观察。

Data Grid操作员还可以配置跨站点复制的继电器节点数量。这种灵活性提高了缓存在多站点环境中的可扩展性和性能。

最后,对于跨站点集群而言,安全性至关重要,因此我们为基于路由器的跨站点复制启用了TLS安全。(更多关于安全增强的内容请见后续章节。)

使用SQL缓存存储进行扩展

当数据库中有大量数据并希望将其加载到缓存中时,您会怎么做?数据库模式可能很复杂,用户可能希望通过SELECT、INSERT等操作定义数据的查询方式。您可能还希望支持直写和回写操作。所有这些都构成了复杂的场景。

在此版本中,我们添加了两种类型的SQL缓存存储:

  • 表缓存存储:从单个表加载所有数据。只需要表名。
  • 查询缓存存储:基于SQL查询加载数据。

使用新的SQL缓存存储可以完成的有用操作包括:

  • 从现有数据库预加载数据
  • 通过用户定义的模式暴露缓存数据
  • 允许读写操作
  • 将缓存存储配置为只读,并充当缓存加载器
  • 配置缓存存储在启动时加载值
  • 通过协议缓冲区(protobuf)模式将缓存存储与复合键和值一起使用
  • 使用查询缓存存储,执行任意的select、select all、delete、delete all和upsert操作

要设置缓存存储,您只需将数据库驱动程序放入服务器,这可以通过Red Hat OpenShift上的Operator自定义资源(CR)完成。之后,用户应该能够通过YAML、JSON或XML创建SQL缓存存储——这也是一个新的配置功能。GitHub上提供了一个使用Infinispan和Quarkus Java框架的示例。

更多安全增强功能

Data Grid现在通过OpenSSL本机加速全面支持TLS 1.3版本。我们还提高了Data Grid 8.3中安全性的灵活性和便利性。

多重领域

您可以将多个安全领域组合到单个领域中。在验证用户身份时,Data Grid Server会依次检查每个安全领域,直到找到能够执行身份验证的领域。

以下示例安全领域包括一个LDAP领域和一个属性领域,以及distributed-realm元素:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<security-realms>
   <security-realm name="my-distributed-realm">
      <ldap-realm>
         <!-- LDAP领域配置 -->
      </ldap-realm>
      <properties-realm>
         <!-- 属性领域配置 -->
      </properties-realm>
      <distributed-realm/>
   </security-realm>
</security-realms>

多端点

用户现在还可以配置多个端点并为它们定义单独的安全领域。这一增强功能实现了更灵活和更安全的使用。

以下示例包含两个不同的端点配置。一个端点绑定到公共套接字,使用应用程序安全领域,并禁用管理功能。另一个端点绑定到私有套接字,使用管理安全领域,并启用管理功能:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<endpoints>
  <endpoint socket-binding="public"
            security-realm="application"
            admin="false">
    <hotrod-connector/>
    <rest-connector/>
  </endpoint>
  <endpoint socket-binding="private"
            security-realm="management">
    <hotrod-connector/>
    <rest-connector/>
  </endpoint>
</endpoints>

PEM文件

用户现在可以直接将PEM文件添加到Data Grid Server配置中,并在TLS服务器身份中将它们用作信任存储和密钥存储。

注意: 请参阅Data Grid安全指南分布式安全领域以了解有关Data Grid 8.3中新安全功能的更多信息。

使用Helm图表部署Data Grid

使用Helm图表进行应用程序部署的开发人员现在可以使用这种便捷机制安装Data Grid。您可以使用图表部署Data Grid实例、配置集群、添加身份验证和授权、通过路由和节点端口添加网络访问、启用负载均衡器等,使用Data Grid门户(图2)或CLI。

图2. 可以通过Data Grid图形界面调用Helm图表。

注意: 使用Helm图表适用于Data Grid Operator不可用且操作员必须手动配置、部署和管理集群的站点。

CLI改进

Data Grid 8.3为喜欢在命令行工作的开发人员提供了一些更新。一方面,您可以启用和禁用集群的重新平衡,跟踪和提取有关跨站点复制继电器节点的更多详细信息,并管理缓存可用性。此外,如果您使用通用的oc OpenShift命令,您现在还可以安装Infinispan扩展并将其与oc一起使用,如图3所示。

图3. 您可以从命令行控制Data Grid集群。

可用性改进

我们在本版本中进行了更多改进,以提高Data Grid的可用性:

  • Data Grid 8.3全面支持Java 17,用于嵌入式和远程缓存
  • 您可以在升级到Data Grid 8.3期间自动迁移任何文件存储配置
  • 您现在可以使用Ickle编程语言删除条目:
1
query.create("DELETE FROM books WHERE page_count > 500").executeStatement();
  • 在版本之间升级服务器节点集群时,Hot Rod迁移更简单,并且透明地处理配置更改

开始使用Data Grid 8.3

准备好深入了解并试用Data Grid 8.3了吗?这些资源将帮助您开始:

  • 通过认证服务提供商(CSP)程序提供Zip分发版
  • 在Red Hat容器目录中提供容器分发版和Operator
  • 在Red Hat客户门户上提供产品文档,包括帮助您将现有Data Grid部署迁移到8.0的迁移指南
  • 访问Red Hat Data Grid产品页面以了解有关此技术的更多信息
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计