MapStore的实现

时间:2018-12-06 07:54:01

标签: hazelcast

我想知道我是否需要在所有hazelcast服务器上实现mapstore实施,还是只需要1个就可以了?

例如,我有4个hazelcast服务器。如果我在所有4台服务器中都设置了相同的mapstore,这是否意味着所有4台hazelcast服务器将对同一密钥执行相同的逻辑4次? (没有明确的文档提及此内容。)

另一种情况,如果我调用imap.put(k,v),那么所有4个hazelcast服务器会同时调用load(key)方法,还是只有1个服务器可以处理它?<​​/ p>

2 个答案:

答案 0 :(得分:3)

使用IMap时,将对数据进行分片并将其分发给集群成员。这些分片也可以在不同的成员中具有备份。请查看相关的章节of the docs

因此,特定密钥将仅存储在成员之一上,因此仅触发该成员的store()实现。

这还意味着您需要在所有成员中设置MapStore实现。

答案 1 :(得分:0)

@Sertug,我明白了。但是,如果我还实现接口MapLoaderLifecycleSupport,那么所有成员也会调用init方法吗?我设置为*

的地图商店名称