分布式锁

分布式锁介绍

分布式环境中,多个系统对共享资源进行并发访问时,为了保证数据安全和一致,需要应用分布式锁技术来顺序访问或修改共享资源。

分布式锁实现方式

  1. 基于数据库乐观锁
  1. 基于缓存如redis乐观锁
  1. 基于zookper实现

分布式锁设计要求

  1. 共享资源在同一时间只能被一台机器上的一个线程执行
  1. 这把锁要是一把可重入锁(避免死锁)
  1. 满足可用性,分区容忍性
  1. 解锁和加锁必须是同一个线程

分布式锁实现原理

  1. 全局的共享条件变量
  1. 判断条件变量是否满足加锁要求
  1. 通过原子性的一组事务操作来修改条件变量来达到加锁和解锁目的

分布式锁的主要应用

  1. 分布式系统全局定时任务
  1. 分布式系统秒杀场景
  1. 其他需要对全局共享资源修改访问的场景
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容