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-service
和datagrid-service
不使用外部 Hot Rod 连接器。例如,如果您设置了
HOTROD_SERVICE_NAME=DATAGRID_APP_HOTROD
,则 Hot Rod 外部连接器返回DATAGRID_APP_HOTROD:11333
。REST_STORE_AS_STRING
指定在通过 REST API 写入缓存时,如果 Data Grid 将条目保存为 Java 字符串。值为
true
或false
(默认)。如果您要从上一版本升级镜像并计划读取持久的缓存条目,则将值设为
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
。