繁体   English   中英

Hazelcast 入口处理器

[英]Hazelcast entryprocessor

我的应用程序有 3 个节点(Java Spring 引导),它们使用 Hazelcast IMap 作为分布式缓存。 我的逻辑需要经常更新 map 中的值,我已经为它实现了一个EntryProcessor 在测试时,我创建了一个带有 3 个节点的 hazelcast 集群。 我注意到以下内容:

  • 如果 node1 调用入口处理器,则不能保证它会在节点 1 上执行。它会在这 3 个节点中的任何一个上执行。 备份条目处理器也是如此。
  • 其他 2 个节点也是如此。

有什么方法可以确保/强制在调用它的节点上执行入口处理器? 我通读了文档,找不到我的问题的答案。

提前致谢。

条目处理器在托管条目的主副本和任何备份副本的节点上运行。

您看到的行为是由于从运行到运行的数据未托管在同一位置。 有一定程度的随机性。

这是正常的,也是你想要的。 任何将数据“固定”到特定位置的尝试总是 go 错误。 Hazelcast 和一般的分布式存储需要不受限制地放置数据以平衡集群。

如果您需要可预测性,您可以在特定节点上运行 Runnable/Callable,但这不是这里的用例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM