7.1 分布式核心技术-关于高并发下分布式锁你知道多少?—小滴课堂学习笔记

171 阅读1分钟

分布式核心技术-关于高并发下分布式锁你知道多少?点击小标题观看视频讲解

简介:分布式锁核心知识介绍和注意事项

  • 背景

    • 就是保证同一时间只有一个客户端可以对共享资源进行操作

    • 案例:优惠券领劵限制张数、商品库存超卖

    • 核心

      • 为了防止分布式系统中的多个进程之间相互干扰,我们需要一种分布式协调技术来对这些进程进行调度
      • 利用互斥机制来控制共享资源的访问,这就是分布式锁要解决的问题

       

  • 避免共享资源并发操作导致数据问题

    • 加锁

      • 本地锁:synchronize、lock等,锁在当前进程内,集群部署下依旧存在问题
      • 分布式锁:redis、zookeeper等实现,虽然还是锁,但是多个进程共用的锁标记,可以用Redis、Zookeeper、Mysql等都可以

image.png

  • 设计分布式锁应该考虑的东西

    • 排他性

      • 在分布式应用集群中,同一个方法在同一时间只能被一台机器上的一个线程执行
    • 容错性

      • 分布式锁一定能得到释放,比如客户端奔溃或者网络中断
    • 满足可重入、高性能、高可用

    • 注意分布式锁的开销、锁粒度

《小滴课堂-Redis6学习笔记》