互聯網通用架構技術----分佈式鎖

前言

基本原理都是:用餘光狀態值表示鎖,對鎖的佔用和釋放經過狀態值標識。sql

##Redisget

操做流程:原理

  • 先試用setnx嘗試獲取鎖,若是返回0說明獲取鎖失敗。
  • 發送Get檢查鎖是否超時,若是沒超時,則等待或重試。
  • 若是已超時,經過getset嘗試獲取鎖。
  • 若是getset拿到的時間戳是超時的說明,成功獲取的鎖了。
  • 若是被其餘客戶端搶先,getset活動的時間戳是未超時的,則說明獲取鎖失敗,繼續等待重試。

關鍵詞:im

  • lockKey;鎖鍵;
  • expireMse = 60*1000;鎖超時時間,防止鎖後執行等待;
  • timeoutMsecs 鎖等待時間;

Zookeeper

Mysql

相關文章
相關標籤/搜索