当Hazelcast的任何成员出现故障时,Hazelccast强制调用loadAll()方法



我已经使用MapLoaderloadAll键功能实现了通读,该功能在映射初始化期间将特定的键和值列表从数据库加载到Hazelcast映射。我的问题是,如果某个成员出现故障,我需要相应地重新填充这些键和值。这是因为我们积极使用Hazelcast谓词来搜索相关数据(而不是按关键字(,但如果某个成员出现故障,我们很可能无法从缓存中获得实际结果。

据我所知,Hazelcast也不会创建任何用MapLoader配置的数据备份。我唯一能想到的一个选项是,一旦任何成员出现故障,就强制调用MapLoaderloadAll函数。但并不确定如何实现同样的功能。我也愿意接受其他建议。

据我所知,Hazelcast也不会创建任何使用MapLoader配置的数据备份。

我不确定是什么让你相信这一点。Backups和MapLoader是地图上两个独立的配置设置,您可以独立配置它们。因此,除非您配置了零备份,否则您的数据将有一个备份,即使是由MapLoader加载时也是如此。

有关更多信息,请参阅文档中的"确保地图数据安全"部分。

如果要使用MapLoader重新加载数据,则可以对所有数据使用com.hazelcast.map.IMap#loadAll(boolean),或对特定密钥集使用com.hazelcast.map.IMap#loadAll(java.util.Set<K>, boolean)

最新更新