3篇文章总结:
文章1:https://www.cnblogs.com/cc11001100/p/10269494.html
问题:如果一个客户端线程成功获取zk的分布式锁,但因为各种原因执行时间较长,长到zk的临时节点超时,删除临时子节点,另外一个线程此时获得锁,但前面获得锁的客户端也在执行,此时分布式锁就有问题了。
文章2: https://my.oschina.net/eohad/blog/983738
一句话总结:如果因为zk服务端-客户端网络中断导致锁提前释放,但业务逻辑可能会依然并发执行。
解决方案:使用永久节点。但会出现因为会话异常关闭导致死锁问题。
文章3:https://m.imooc.com/article/302954
最终决定还是用Redis的分布式锁吧。我TM emmmmmmmmmmmmmmmmmmmmmmm。
来源:oschina
链接:https://my.oschina.net/u/3730149/blog/3226403