MySQL中的字段
用一个外部进程监视这个锁,当超时的时候则将这把锁给释放(将字段还原)。这个超时时间很难去把握,实际生产中一般不适用MySQL做分布式锁。
redis 是通过设置有效期来解决MySQL中的死锁问题,可问题就在于这个有效期很难把握。
zookeeper 是一个分布式一致性服务框架
客户端在操作一个zookeeper节点,其他的zookeeper都会被同步
zookeeper 可以存储数据,文件系统,zookeeper的目录是可以存储数据的
zookeeper的目录类型分为四种
- 持久化目录 (客户端操作zookeeper会将目录持久化)
- 临时目录 (客户端与zookeeper断开连接目录自动删除)
- 持久有顺序目录
- 临时有顺序目录
- zookeeper支持事件回调机制
节省了资源
通过有序临时节点和事件通知机制巧妙的解决了死锁问题
原文:https://www.cnblogs.com/bananafish/p/13413443.html