hHazelcast 存储

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 支持的分布式、会话范围存储, 使每个会话的元数据在集群部署的各节点间可见且具有弹性。

最后更新于

这有帮助吗?