← 学习中心

分布式:分布式锁与分布式事务

Redis/ZK 分布式锁的写法与坑,2PC/TCC/消息最终一致等事务方案的取舍。

本节你将能

讲清跨进程互斥的实现、可靠性要点,以及分布式事务的常见套路。

核心要点

  • Redis 锁:SET NX PX + 唯一 value,Lua 释放;需看门狗续期防误删(Redisson)。
  • ZK 锁:临时顺序节点,最小节点获锁,watch 前一节点;宕机自动释放更稳但吞吐低。
  • 2PC:协调者两阶段提交,强一致但同步阻塞、单点风险。
  • TCC:Try/Confirm/Cancel 三阶段,业务侵入大但性能好,需做空回滚与防悬挂。
  • 最终一致:本地消息表 / RocketMQ 事务消息,异步保证一致,最常用。

面试连招

常被追问:Redis 锁过期但业务没跑完怎么办?TCC 空回滚/防悬挂是什么?

常见坑

锁未设超时或误删他人锁;TCC 的 Confirm/Cancel 未做幂等;以为最终一致=立即一致。

分布式:分布式锁与分布式事务 - 生命科学与前沿科技学习平台 | 必学必会