嵌入式Hazelcast备份读取与同步备份

嵌入式Hazelcast备份读取与同步备份,hazelcast,Hazelcast,我对运行嵌入式hazelcast时的备份读取有疑问 如果启用了同步备份,并且我们还启用了备份读取,那么在锁内执行更新时,我们是否仍有陈旧读取的风险 澄清一下我想知道的 如果我使用上述配置 如果所有更新都使用悲观锁定模式完成,如: map.lock(key); try { Value value = map.get(key); value.amount++; map.put(key, value); } finally {

我对运行嵌入式hazelcast时的备份读取有疑问

如果启用了同步备份,并且我们还启用了备份读取,那么在锁内执行更新时,我们是否仍有陈旧读取的风险

澄清一下我想知道的

如果我使用上述配置

如果所有更新都使用悲观锁定模式完成,如:

    map.lock(key);
    try {
        Value value = map.get(key);
        value.amount++;
        map.put(key, value);
    } finally {
        map.unlock(key);
    }
使用备份读取时,锁内的读取是安全的,对吗?
由于每次put都将确保在使用同步备份时更新所有备份?

是的,如果使用同步备份,则您的数据在Hazelcast成员之间是一致的,因此您的代码片段可以按预期工作。这都是假设Hazelcast星系团本身是稳定的(没有分裂的大脑)


但是请注意,锁定并不是实现目标的最佳方式。请看一下。

谢谢您的回答!是的,我也在考虑使用EntryProcessor进行更新。