分布式锁的实现面试题

1.使用场景

  需要保证一个方法在同一时间内只能被同一个线程执行

2.实现方式:加锁和解锁

3.方案,考虑因素(性能,稳定,实现难度,死锁)

  基于数据库做分布式锁--乐观锁(基于版本号)和悲观锁(基于排它锁)

  基于 redis 做分布式锁:setnx(key,当前时间+过期时间)和Redlock机制

  基于 zookeeper 做分布式锁:临时有序节点来实现的分布式锁,Curator

  基于 Consul 做分布式锁

 

  

posted @ 2019-04-04 17:34  技术小白袁朋  阅读(2642)  评论(0编辑  收藏  举报