【发布时间】:2019-03-07 09:42:35
【问题描述】:
我正在配置一个没有备份的 Hazelcast Multimap(故意):
config.getMultiMapConfig(SESSIONS_MAP)
.setBackupCount(0)
.setAsyncBackupCount(0)
.setValueCollectionType(MultiMapConfig.ValueCollectionType.SET);
我的目标是每个实例在 MultiMap 中存储自己的值,这样当服务器消失时,这些值也会丢失。以上配置正确吗?
示例:集群中的服务器实例托管用户会话。我想将用户存储在 MultiMap 中,以便每个用户物理存储在本地实例上,但其他实例可以查找用户会话存在的位置。当服务器崩溃时,用户会话消失,MultiMap 中的条目也会消失。 [用户实际上存储在房间中,例如MultiMap<roomId, Set<userId>>,其中一个房间可能跨越多个实例。如果一个实例出现故障,房间可能会存活,但我希望当前实例上的用户在 MultiMap 中也变得不可用。]
只有在保证上述条件的情况下:在受控关闭中,是否值得在关闭前清理本地条目,还是让实例消失更便宜?
https://docs.hazelcast.org/docs/latest-dev/manual/html-single/index.html#configuring-multimap 的手册并没有清楚地说明实际发生的情况(或者我太盲目而无法找到它)。
【问题讨论】: