Hazelcast 存储
该 HazelcastStore 是一个分布式实现的 存储 接口,由 Hazelcast 的 IMap提供支持。
每个会话获得其自己的专用分布式映射,键为其 sessionId,使会话数据可以在 Hazelcast 集群的节点之间共享。这使得该存储适用于 水平扩展的部署,其中每个会话的元数据必须在多个 JVM 实例之间保持一致。
关键特性
分布式的每会话存储 — 会话数据存储在 Hazelcast 的分区、复制映射中
集群可见性 — 值可以从 Hazelcast 集群中的任何节点访问和修改
对节点故障具有弹性 — 依赖 Hazelcast 配置来实现分区冗余
无需外部代理 — 当 Hazelcast 已用于集群或数据网格时非常理想
可与任何 EventStore 组合 — 事件分发后端可以不同(例如 Kafka、Redis Streams 等)
工作原理
set(key, val)更新该会话的分布式映射条目get(key)从集群检索值has(key)检查键是否存在del(key)从分布式存储中移除会话键destroy()移除该会话的整个 IMap,释放所有相关数据
优点
👍 在整个集群中透明共享数据 👍 自然适用于基于 Hazelcast 的适配器或分布式状态系统 👍 与外部 EventStore 配合时支持混合部署 👍 相较于纯内存存储提供更高的持久性和弹性 (例如 HazelcastStore + KafkaEventStore, HazelcastStore + RedisStreamEventStore)
总结
HazelcastStore 提供由 Hazelcast IMap 支持的分布式、会话范围存储, 使每个会话的元数据在集群部署的各节点间可见且具有弹性。
最后更新于
这有帮助吗?