一、什么是分布式锁
分布式锁是控制分布式系统之间同步访问共享资源的一种方式,为了防止分布式系统中的多个进程之间相互干扰,需要对不同机器的这些进程进行协调。
如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,这个时候,便需要使用到分布式锁。
分布式锁应该具备条件:
二、实现分布式锁的方式
从理解的难易程度角度(从低到高)
数据库 > 缓存 > Zookeeper
从实现的复杂性角度(从低到高)
Zookeeper >= 缓存 > 数据库
从性能角度(从高到低)
缓存 > Zookeeper >= 数据库
从可靠性角度(从高到低)
Zookeeper > 缓存 > 数据库