互联网通用架构技术----分布式锁

前言

基本原理都是:用余光状态值表示锁,对锁的占用和释放经过状态值标识。sql

##Redisget

操做流程:原理

  • 先试用setnx尝试获取锁,若是返回0说明获取锁失败。
  • 发送Get检查锁是否超时,若是没超时,则等待或重试。
  • 若是已超时,经过getset尝试获取锁。
  • 若是getset拿到的时间戳是超时的说明,成功获取的锁了。
  • 若是被其余客户端抢先,getset活动的时间戳是未超时的,则说明获取锁失败,继续等待重试。

关键词:im

  • lockKey;锁键;
  • expireMse = 60*1000;锁超时时间,防止锁后执行等待;
  • timeoutMsecs 锁等待时间;

Zookeeper

Mysql

相关文章
相关标签/搜索