请问分布式互斥锁是什么?

2017 年 7 月 18 日
 saximi
看了一些 PYTHON 中关于如何实现锁机制的文章,但是对于什么是分布式互斥锁这个基本的概念还是不明白,不知有没有合适的说明材料,能否推荐一下,以及在 PYTHON 中如何实现的说明,万分感谢了!
4077 次点击
所在节点    Python
6 条回复
orvice
2017 年 7 月 18 日
NoAnyLove
2017 年 7 月 18 日
如果所谓的分布式锁是指一个 Lock 对象可以在不同进程甚至不同机器上使用,并且性能要求和规模不是很高的话,可以子类继承自 multiprocessing.managers.BaseManager,使用 TCP 通信,register 一个 threading.Lock 实例。具体看 multiprocessing 的文档。
lsmgeb89
2017 年 7 月 19 日
有好几种不同的类型
google distributed mutual exclusion algorithms
tr0uble
2017 年 7 月 19 日
简单的,数据库行锁,缓存 set not exist
复杂的看一下 chubby,redlock
ryd994
2017 年 7 月 19 日
@tr0uble 行锁、set not exist 本身并不是分布式锁:锁完全由数据库服务器管理
jameshuazhou
2017 年 7 月 19 日
首先应该了解单进程内多线程锁的机制,主要是通过 CPU 和操作系统配合来实现资源分配和保护。然后考虑多进程之间如何实现资源保护,原理上讲都是一样的,也需要个中控的系统来调配。结合 Redis 的分布式锁理解下吧。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/376278

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX