Skip to content
极高进阶

一句话答案

Redis 锁(高性能/主从可能丢锁)、ZK 锁(强一致/性能一般)、DB 锁(简单/性能差),生产推荐 Redisson。

核心要点
方案性能可靠性实现复杂度
Redis中(主从不一致)
Zookeeper高(CP)
数据库

生产推荐: Redisson(Watch Dog续期+可重入+公平锁)

追问与易错

追问方向:

  • Redis 主从切换时锁丢失怎么办?(RedLock/容忍/业务幂等)
  • ZK 分布式锁怎么实现的?(临时顺序节点 + Watch 前一个节点)
  • 分布式锁的粒度怎么设计?(越细并发越高,但复杂度也越高)

易错点:

  • ❌ "Redis 分布式锁绝对安全"——主从切换可能丢锁,需要评估业务容忍度
  • ❌ "加了分布式锁就万事大吉"——还要考虑锁粒度/过期时间/业务幂等

💡 记忆锚点

三把锁的取舍:Redis锁=跑车(快但主从切换可能丢钥匙),ZK锁=坦克(稳但慢,临时顺序节点+Watch),DB锁=自行车(简单但太慢)。生产首选Redisson:看门狗自动续期、可重入、红锁方案,但主从丢锁问题要靠业务幂等兜底。