寻找一个建议记录-锁定在一个分布式系统
-
03-07-2019 - |
题
我们正在试图拿出一个建议的设计图案为我们的团队当它涉及到记录锁。典型学校的想法是这样的:1.用户选一个记录,从一个名单 2.锁的记录用户标识 3.载锁定记录的记录(无锁,然后有人拍亚)。
我失去了一些东西,或者不这似乎是唯一的方式做到这一点?((在我们的情况乐观锁定会很麻烦和令人困惑的最终用户。编辑往往是相当可观的。))
解决方案
的细节,可以使你的解决方案管理密集型的正在摆脱锁之后崩溃或连接失败。那是之间的权衡乐观和悲观锁真的谎言。手工合并,或重新、编辑当乐观锁定失败是一种痛苦,但拖了后崩溃在悲观和持久的锁定模式创建其自己的头疼(如任何人支持用户的普遍支持的会计制度在90年代会告诉你,在长给予的机会)
一个答案是使用你的关系型数据库的管理机制的交易和并发:抓住的记录,与选择用于更新或任何语法你的西装你的环境和孤立等级。如果你的一个客户崩溃或得到断开交易卷回到和锁被释放。
在有无连接环境状网或环境的连接获得丢失和恢复的经常会议基础的模式与会超时也可以工作:
- 试图清除现有锁上的记录,如果这是一期会议
- 试图锁的记录。(失败,如果以前的步骤失败)
- 选择锁定记录(没有记录返回,如果以前的步骤失败)
因此锁定得到公布时,本届会议期满。有没有手动删除锁之后崩溃和一些宽容的客户/连通性问题。它不会采取更多的工作,以代码。
不隶属于 StackOverflow