1

我有一个带有 2 个节点的 hazelcast 集群和一个用于持久性的数据库。我一个接一个地启动两个节点。第一个节点从数据库中读取实体并构建相应的地图(entityMap)。在我启动第二个节点后,EntityMapStore.store() 方法被定期调用(在第二个节点上)很多次。我只是想知道,这应该怎么发生,因为开始后我还没有在地图上放任何东西。还是我做错了什么?

hazelcast.xml 的相应部分如下所示:

   <map name="entityMap">
        <backup-count>1</backup-count>
        <map-store enabled="true">
            <class-name>EntityMapStore</class-name>
            <write-delay-seconds>1</write-delay-seconds>
        </map-store>
    </map>
4

1 回答 1

4

不,你没有做错任何事。由于您有write-delay-seconds > 0,当条目迁移到第二个节点时,会在第二个节点store()上为这些条目调用。这是当前的行为,但您可能希望为此创建一个问题,以便 Hazelcast 团队可以通过不调用store()迁移的不脏条目来增强此行为。

于 2011-12-06T05:35:50.770 回答