视频课程
小黑屋思过中,禁止观看!
评论并刷新后可见

您需要在视频最下面评论并刷新后,方可查看完整视频

视频课程
立即观看
付费视频

您支付费用,方可查看完整视频

¥{{user.role.value}}
课程视频
开始学习
会员专享

视频合集

最全分布式锁解决方案详解

  • 课程笔记
  • 问答交流

为了助大家掌握好分布式锁,这节课我会重点讲解以下7点:

1.分布式锁的由来
2.分布式锁的特点
3.分布式锁解决方案
4.数据库分布式锁
5.Redis分布式锁
6.Zookeeper分布式锁
7.分布式锁解决方案优劣势比较

分布式锁的由来

在同一个 JVM 中,在多线程并发的情况下,我们可以使用同步锁或 Lock 锁,保证在同一时间内,只能有一个线程修改共享变量或执行代码块。
最全分布式锁解决方案详解-mikechen

但随着业务发展的需要,原单体单机部署的系统被演化成分布式集群系统后,由于分布式系统多线程、多进程并且分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效,单纯的Java API并不能提供分布式锁的能力。

为了解决这个问题就需要一种跨JVM的互斥机制来控制共享资源的访问,这就是分布式锁要解决的共享资源的原子性等问题。
最全分布式锁解决方案详解-mikechen

分布式锁的特点

保证在分布式部署的应用集群中,同一个方法在同一时间只能被一台机器上的一个线程执行。

使用分布式锁的目的,无外乎就是保证同一时间只有一个客户端可以对共享资源进行操作。
最全分布式锁解决方案详解-mikechen

分布式锁解决方案

评论交流
  1. 路正银

    数据库锁
    优点:直接使用数据库,使用简单
    缺点:分布式系统大多数瓶颈都在数据库,使用数据库锁会增加数据库负担

    缓存锁
    优点:性能高,实现起来较为方便,在允许偶发的锁失效情况,不影响系统正常使用,建议采用缓存锁
    缺点:通过锁超时机制不是十分可靠,当线程获得锁后,处理时间过长导致锁超时,就失效了锁的作用

    zookeeper锁
    优点:不依靠超时时间释放锁;可靠性高;系统要求高可靠性时,建议采用zookeeper锁。
    缺点:性能比不上缓存锁,因为要频繁的创建节点删除节点。