微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

IMap.lock是否需要CP子系统?

如何解决IMap.lock是否需要CP子系统?

文档说,CP子系统用于实现分布式协调用例,例如领导者选举(筏共识算法),分布式锁定,同步和元数据管理。认情况下,它在“ unsafe mode”中运行,甚至向控制台显示警告,表明不能保证强一致性。

另一方面,它也表示,在处理诸如IMap之类的分布式数据结构时,认情况下始终会从主副本中写入和读取数据。

因此,如果我禁用了CP子系统,并且使用了hazelcastInstance.getMap("accounts").lock("123"),那么可以安全地假设没有其他集群成员能够做到这一点,除非该集群成员被释放了吗?还是我必须为此专门配置CP部件?如果有任何区别,我也只使用一个副本而没有任何备份。

我认为应该没问题,因为所有成员都必须前往同一地点进行锁定。而且,在我看来,CP子系统中的“分布式锁定”部分实际上意味着它自己的FencedLock,可通过hazelcastInstance.getcpsubsystem().getLock("myLock")访问,因此地图上的锁定是不同的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。