什么是分布式锁,分布式锁就是在分布式系统架构下产生的同步资源的一种机制,在之前单体的架构之下,我们的程序里的方法,对象,变量等待的同步,只需要用到 Java里的锁 ,比如 synchronized ,ReentrantLock 等都可以帮我们解决这个资源同步的问题。
那么要实现分布式做应该具备哪些条件
分布式环境下,一个方法在同一时间只能被一个机器的一个线程执行
高可用的获取锁和释放锁
高性能的获取锁和释放锁
剧本可重入特性
剧本锁的失效机制,务必关注防死锁
具备非阻塞锁特性,即没有获取到锁将直接返回获取锁失败
分布式事务实现的 3 中方式
基于数据库实现分布式
基于Redis 实现分布式锁
基于Zookeeper 实现分布式锁