分布式锁的两种实现 基于redis的实现 获取锁利用setnx的特性 释放锁使用了lua脚本来保证判断和释放两步的原子性。 基于zookeeper的实现 主要原理是利用zookeeper的临时顺序节点,和一个watchTable的监听机制。 本次也实现了可重入的机制。