15.4.5. Endpoints

客户端可以通过您在缓存配置中定义的 REST、Hot Rod 和 Memcached 端点访问数据网格。

在与 OpenShift Data Grid 相同的项目中运行的客户端可以通过 Hot Rod 访问缓存并接收完整的集群视图。这些客户端也可以使用一致的哈希功能。

但是,当客户端在不同项目中为 OpenShift 的 Data Grid 中运行到 Data Grid 时,他们需要使用一个 OpenShift 服务从外部公开 Hot Rod 端点来访问 Data Grid 集群。根据您的网络配置,客户端可能无法访问某些 pod,且必须使用 BASIC 客户端智能。在这些情况下,客户端可能需要额外的网络跃点访问数据,这会增加网络延迟。

对 OpenShift 中运行的客户端的外部访问权限需要使用 passthrough 加密终止的路由。客户端还必须使用 BASIC 客户端智能和完全限定域名作为 TLS/SNI 主机名。另外,您还可以在外部提供的 Load Balancer 服务后公开 Data Grid 集群。

使用以下环境变量配置端点:

INFINISPAN_CONNECTORS
定义要配置的连接器的逗号分隔列表。默认为热线 ,memcached 剩余 部分。如果在缓存上启用了授权或身份验证,则您应该删除 memcached,因为此协议本质上是不安全的。
MEMCACHED_CACHE
为 Memcached 连接器设置缓存名称。如果您没有使用 CACHE_NAMES 环境变量指定缓存名称,则默认为 memcached
HOTROD_SERVICE_NAME

为外部 Hot Rod 连接器定义 OpenShift 服务的名称。

只有在定义此环境变量时,只有部署配置模板可以使用外部 Hot Rod 连接器。cache-servicedatagrid-service 不使用外部 Hot Rod 连接器。

例如,如果您设置了 HOTROD_SERVICE_NAME=DATAGRID_APP_HOTROD,则 Hot Rod 外部连接器返回 DATAGRID_APP_HOTROD:11333

REST_STORE_AS_STRING

指定在通过 REST API 写入缓存时,如果 Data Grid 将条目保存为 Java 字符串。值为 truefalse (默认)。

如果您要从上一版本升级镜像并计划读取持久的缓存条目,则将值设为 true

注意

Data Grid 版本 7.1 及更早的版本: 当您通过 REST 端点将条目写入缓存时,Data Grid 会将它们存储为 Java 字符串。

Data Grid version 7.2 及更新的版本: Data Grid 将缓存条目存储为 bytes[],以启用客户端和协议间的数据互操作性。

如果您将 OpenShift 镜像的 Data Grid 升级到 7.2 或更高版本,当您试图读取一直到数据存储的缓存条目时,Data Grid 会返回 null 值。要解析 null 值,请设置 REST_STORE_AS_STRING=true