zookeeper怎么实现分布式锁
引出zookeeper
概述:
zookeeper是一个分布式协调服务,
什么是分布式协调服务?分布式协调服务是为了实现分布式锁;
什么是分布式锁?是为了多进程之间共享同一资源时希望这个资源有序的访问。
分布式锁:
三个核心要素:
枷锁
解锁
锁超时
三个问题:
要保证原子性操作,枷锁和锁超时的操作要一次性执行
防止误删锁
在误删锁的基础上,加多一个守护线程,为锁续命
Zookeeper 分布式锁呢?
临时顺序节点
Znode 有四种状态
持久节点
持久节点但有序节点
临时节点
临时节点但有序节点
Zookeeper和Redis分布式锁的比较