EmbeddedHazelcastCacheManager Controller Service
描述
运行嵌入式 Hazelcast 并提供其支持的缓存实例的服务。 服务器不要求身份验证,建议在安全网络内运行。
标签
属性
| 名称 | 默认值 | 可选值 | 描述 |
|---|---|---|---|
| Hazelcast Cluster Name | lynxus | Hazelcast 集群的名称。 支持表达式语言:是(仅使用环境/系统变量求值) | |
| Hazelcast Port | 5701 | Hazelcast 实例使用的端口。 支持表达式语言:是(仅使用环境/系统变量求值) | |
| Hazelcast Clustering Strategy | none |
| 指定应使用什么策略创建 Hazelcast 集群。 |
| Hazelcast Instances | | 仅与「Explicit」聚类策略一起使用!应作为 Hazelcast 集群一部分的 Lynxus 实例主机名列表。主机名用逗号分隔。「Hazelcas 支持表达式语言:是(仅使用环境/系统变量求值) |
状态管理
该组件不存储状态。
受限 (Restricted)
该组件不受限。
提供的 Service API
HazelcastCacheManager
详细说明
EmbeddedHazelcastCacheManager
该服务启动并管理一个嵌入式 Hazelcast 实例。缓存管理器可以直接访问该实例——以及其中存储的 数据。不过,该实例会开放一个端口供潜在客户端加入,这一点无法 阻止。注意,这可能使实例暴露给恶意客户端加入。
通过相应地设置属性,可以在同一主机上运行多个独立的 Hazelcast 实例(无论是通过 EmbeddedHazelcastCacheManager 还是外部方式)而互不干扰。如果 没有其他实例,直接使用默认的集群名称和端口号即可。
该服务支持多种搭建 Hazelcast 集群的方式。这由名为 "Hazelcast Clustering Strategy" 的属性控制。可以使用以下策略:
None
这是默认值。用于不需要在节点之间共享数据的场景。使用该值时, 集群中的每个 Lynxus 节点(如果已集群化)只连接其本地的 Hazelcast 服务器。各 Hazelcast 服务器不会组成集群。
All Nodes
只能在集群化节点中使用。使用该策略会形成一个由所有 Lynxus 节点的嵌入式实例组成的单一 Hazelcast 集群。该策略要求所有 Hazelcast 服务器监听相同的端口。如果端口号不同(例如基于 表达式),会阻止集群的形成。
该 Controller Service 启用时会自动从 Lynxus 集群本身收集主机列表。此时不要求所有节点都已成功加入, 但加入必须已经发起。如果在 Lynxus 实例启动时启用该 Controller Service,在节点被视为已集群化之前,服务的启用会被 阻止。
Hazelcast 可以接受稍后加入的节点。由于新节点拥有预期实例的 完整列表——包括已存在的实例和它自己——Hazelcast 能够达到预期状态。注意:这可能需要相当长的时间。
Explicit
只能在集群化节点中使用。Explicit 集群策略允许对 Hazelcast 集群成员进行更多控制。与 All Nodes 集群策略类似,该策略也使用 Hazelcast 服务器列表,但实例发现不是自动的。
该策略使用名为 "Hazelcast Instances" 的属性确定 Hazelcast 集群的成员。该主机列表必须包含预期成为集群一部分的 所有实例。实例列表只能包含属于 Lynxus 集群的主机。"Hazelcast Port" 中指定的端口会用作 Hazelcast 服务器端口。
如果当前节点不在实例列表中,服务会启动一个 Hazelcast 客户端。客户端随后会连接到实例列表中指定的 Hazelcast 地址。服务的使用者不应察觉到功能上有任何差异。