分布式锁的实现面试题

1.使用场景

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

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

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

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

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

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

  基于 Consul 做分布式锁

1.使用场景   需要保证一个方法在同一时间内只能被同一个线程执行 2.实现方式:加锁和解锁 3.方案,考虑因素(性能,稳定,实现难度,死锁)   基于数据库做分布式锁--乐观锁(基于版本号)和悲观锁(基于排它锁)   基于 redis 做分布式锁:setnx(key,当前时间+过期时间)和Redlock机制   基于 zookeeper 做分布式锁:临时有序节点来实现的分布式锁,Curator   基于 Consul 做分布式锁
经验分享 程序员 微信小程序 职场和发展