Zookeeper(三)分佈式鎖

分佈式鎖的特徵:

  • 在分佈式系統環境下,一個方法在同一時間只能被一個機器的一個線程執行
  • 高可用的獲取鎖與釋放鎖
  • 高性能的獲取鎖與釋放鎖
  • 具備可重入特性(可理解爲重新進入,由多個任務併發使用,而不必擔心數據錯誤)
  • 具備鎖失效機制,防止死鎖
  • 具備非阻塞鎖特性,即沒有獲取到鎖將直接返回獲取鎖失敗

分佈式鎖的3個核心要素:

加鎖

解鎖

鎖超時:

鎖超時是什麼意思呢?
如果一個得到鎖的線程在執行任務的過程中掛掉,來不及顯式地釋放鎖,這塊資源將會永遠被鎖住(死鎖),別的線程再也別想進來。

Zookeeper實現分佈式鎖:

Zookeeper:利用 Zookeeper 的順序臨時節點,來實現分佈式鎖和等待隊列。
Zookeeper 設計的初衷,就是爲了實現分佈式鎖服務的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章