Skip to content

Commit

Permalink
Merge pull request Snailclimb#311 from NineSwordsMonster/master
Browse files Browse the repository at this point in the history
Fix typo
  • Loading branch information
Snailclimb authored May 11, 2019
2 parents 6f8994d + cae1e93 commit 6ddea89
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion docs/database/Redis/Redlock分布式锁.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ end

算法很易懂,起 5 个 master 节点,分布在不同的机房尽量保证可用性。为了获得锁,client 会进行如下操作:

1. 得到当前的时间,微妙单位
1. 得到当前的时间,微秒单位
2. 尝试顺序地在 5 个实例上申请锁,当然需要使用相同的 key 和 random value,这里一个 client 需要合理设置与 master 节点沟通的 timeout 大小,避免长时间和一个 fail 了的节点浪费时间
3. 当 client 在大于等于 3 个 master 上成功申请到锁的时候,且它会计算申请锁消耗了多少时间,这部分消耗的时间采用获得锁的当下时间减去第一步获得的时间戳得到,如果锁的持续时长(lock validity time)比流逝的时间多的话,那么锁就真正获取到了。
4. 如果锁申请到了,那么锁真正的 lock validity time 应该是 origin(lock validity time) - 申请锁期间流逝的时间
Expand Down

0 comments on commit 6ddea89

Please sign in to comment.