分布式锁

分布式锁介绍

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

分布式锁实现方式

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

分布式锁设计要求

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

分布式锁实现原理

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

分布式锁的主要应用

  1. 分布式系统全局定时任务
  1. 分布式系统秒杀场景
  1. 其他需要对全局共享资源修改访问的场景

你可能感兴趣的:(分布式锁)