我们的团队正在将 Hazelcast 服务从 v 3.12 升级到 v 5.3,并正在评估提供的分布式锁定功能。
问题是 Fencedlock(带有 Unsafe CP 子系统)会提供与之前 3.x 版本中的 ILock 相同的锁定功能吗?
Fencedlock 会提供与 ILock 相同级别的锁定保证/机制/功能吗?在不安全的 CP 子系统模式下使用 Fencedlock 时有什么需要注意的吗?谢谢。
ILock
已被弃用并删除,因为它被认为具有弱一致性。
FencedLock
仅在启用CP子系统时提供强一致性。如果运行在不安全模式下就无法保证强一致性。
来自文档:
不安全模式提供的一致性保证比 CP 更弱 子系统。例如,当您在 unsafe 中增加一个atomic long时 模式下,即使您可能收到成功响应,诸如此类的操作 因为如果成员失败,增量可能会丢失。
因此,对于需要的用例,不建议使用不安全模式 一致性强。相反,该模式仅适用于 开发或测试。