关于Hazelcast持久性和多个成员的最佳实践

时间:2017-09-07 18:07:04

标签: distributed-computing partitioning hazelcast in-memory-database

我在这里经历了几个相关的主题,似乎主题仍然是开放的,官方文档没有涵盖它,所以我们在这里。

  • 在一个群组中有N个成员的群集
  • 有一张分布式地图
  • 地图具有MongoDB备份的持久性存储
  • 备份数量为1
  • 启用了直写
  • 地图应该在启动时填充
  • 数据库中的数据太大,无法仅由一名成员存储

问题是:

  1. 为了使写入操作正常工作,所有地图成员都必须启用MapStore,因为它们只写入他们拥有的分区?
  2. 当群集启动时,应该loadKeys()实现只加载数据子集,还是应该尝试加载整个数据集,而Hazelcast分区会处理密钥分发?
  3. 如果前一个Q的两种情况都有效,哪一种更有效?

1 个答案:

答案 0 :(得分:3)

  1. 是的,所有成员必须启用MapStore实现
  2. 不,它必须加载所有密钥(至少是那些你想要急切使用的密钥),加载节点根据标准的分布式散列模式分配密钥
  3. 我想这个问题不再是必要的,或者我可能会误解