分布式锁:
分布式锁是什么?
通常说的锁是单进程多线程的锁,在多线程并发编程中用于线程之间的数据共享
分布式锁 指的是在分布式环境下 保护跨进程 跨主机 跨网络的 数据共享 实现互斥访问 保证一致性
架构图:
zookeeper集群:
/zookeeper
/locker
/node_1 -- locker 节点下的一系列顺序节点
/node_2
/node_3
服务器: 系统中需要互斥访问的服务
service
客户端:
client_1
client_2
client_3
总体思路:
在获得锁的时候在lock节点下创建顺序节点,在释放锁的时候 在lock节点下删除自己创建的顺序节点
流程图:
使用场景:
原理解析: