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

问题描述

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

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

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

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...