1
orvice 2017 年 7 月 18 日
可以用 consul 实现
https://github.com/KurToMe/python-consul-lock |
2
NoAnyLove 2017 年 7 月 18 日
如果所谓的分布式锁是指一个 Lock 对象可以在不同进程甚至不同机器上使用,并且性能要求和规模不是很高的话,可以子类继承自 multiprocessing.managers.BaseManager,使用 TCP 通信,register 一个 threading.Lock 实例。具体看 multiprocessing 的文档。
|
3
lsmgeb89 2017 年 7 月 19 日
有好几种不同的类型
google distributed mutual exclusion algorithms |
4
tr0uble 2017 年 7 月 19 日
简单的,数据库行锁,缓存 set not exist
复杂的看一下 chubby,redlock |
6
jameshuazhou 2017 年 7 月 19 日
首先应该了解单进程内多线程锁的机制,主要是通过 CPU 和操作系统配合来实现资源分配和保护。然后考虑多进程之间如何实现资源保护,原理上讲都是一样的,也需要个中控的系统来调配。结合 Redis 的分布式锁理解下吧。
|