嵌入式Hazelcast备份读取与同步备份
我对运行嵌入式hazelcast时的备份读取有疑问 如果启用了同步备份,并且我们还启用了备份读取,那么在锁内执行更新时,我们是否仍有陈旧读取的风险 澄清一下我想知道的 如果我使用上述配置 如果所有更新都使用悲观锁定模式完成,如:嵌入式Hazelcast备份读取与同步备份,hazelcast,Hazelcast,我对运行嵌入式hazelcast时的备份读取有疑问 如果启用了同步备份,并且我们还启用了备份读取,那么在锁内执行更新时,我们是否仍有陈旧读取的风险 澄清一下我想知道的 如果我使用上述配置 如果所有更新都使用悲观锁定模式完成,如: map.lock(key); try { Value value = map.get(key); value.amount++; map.put(key, value); } finally {
map.lock(key);
try {
Value value = map.get(key);
value.amount++;
map.put(key, value);
} finally {
map.unlock(key);
}
使用备份读取时,锁内的读取是安全的,对吗?
由于每次put都将确保在使用同步备份时更新所有备份?是的,如果使用同步备份,则您的数据在Hazelcast成员之间是一致的,因此您的代码片段可以按预期工作。这都是假设Hazelcast星系团本身是稳定的(没有分裂的大脑)
但是请注意,锁定并不是实现目标的最佳方式。请看一下。谢谢您的回答!是的,我也在考虑使用EntryProcessor进行更新。