1.一个合格的分布式锁须要知足如下条件:数据库
一、在分布式系统环境下,一个方法在同一时间只能被一个机器的一个线程执行; 二、高可用的获取锁与释放锁; 三、高性能的获取锁与释放锁; 四、具有可重入特性; 五、具有锁失效机制,防止死锁; 六、具有非阻塞锁特性,即没有获取到锁将直接返回获取锁失败。缓存
2.分布式锁的实现方式分布式
基于数据库实现分布式锁; 基于缓存(Redis等)实现分布式锁; 基于Zookeeper实现分布式锁;性能