gpt4 book ai didi

java - hazelcast 分布式加载是阻塞的吗?

转载 作者:太空宇宙 更新时间:2023-11-04 11:58:23 24 4
gpt4 key购买 nike

目前,我有一个由 MapStore 支持的 IMap。该 IMap 在启动时加载并具有数百万个条目。当映射完全加载时,客户端使用 Imap.values() 和谓词检索条目。这个加载在启动时对我来说工作得很好。

现在,我必须定期重新加载所有数据(例如,每 2 小时)。我正在使用 IMap.loadAll(true) 强制重新加载。 MapStore(loadAllKeys() + loadAll(keys))大约需要 4 分钟才能完成完整加载。看来在这4分钟内,所有通过谓词向imap发送查询的客户端都被阻塞,直到重新加载完成。

就我而言,我无法阻止集群 4 分钟(事实上也不是一秒钟)。

  1. Imap.loadAll 真的会阻塞谓词查询吗?
  2. 可以将 imap 配置为非阻塞,或者存在 IMap.loadAll() 的非阻塞替代方案。

我正在尝试使用 HC 3.7.2、2 个节点和 java 8。

最佳答案

这是一个合理的用例,但由于多种原因目前不受支持。加载发生在分区线程上,因此会阻塞它们 - 它提供了一致性,在加载完成之前 map 不会处理任何请求。

对于“重新加载”的用例,它必须不在分区线程上发生,以便可以满足请求。

您可以在 github 上创建一个功能请求吗?看起来我们可以在下一个版本中解决这个问题。

关于java - hazelcast 分布式加载是阻塞的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41153960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com