mysql分布式锁的坑------ 墨菲定律:有可能出错的事情,终将出错

用mysql唯一key做分布式锁, 虽然简单, 但坑太多, 来看看:

    1.  在高并发场景下, 用mysql做分布式锁, 简直是想找死。

        这种问题, 不要选mysql分布式锁, 别作死。

     2.  业务准备释放锁的时候, 进程被正常重启了, 或者异常崩溃了,或者掉电了, 锁永远无法释放。 这个坑, 踩过。 四个人, 通宵修数据, 呵呵哒。   墨菲定律告诉我们:有可能出错的事情,终将出错。

         这种问题,也并不是毫无办法的,有办法。

     3.  业务释放锁时, 如果操作mysql超时(原因多多, 比如网络原因, 比如mysql挂了), 锁释放失败, 便永远无法释放了。 这个坑, 遇到过。

       这种问题,也并不是毫无办法的,有办法。

     4.  当两个接口中都有加锁的代码时, 如果他们之间有调用关系, 那就呵呵哒了,直接死锁。 这个坑,遇到过。

       这种问题, 实际上就是要解决非重入锁的问题, 想办法搞成可重入的锁吧。

    缺点多多, 有办法完善, 但慎用。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值