zookeeper應用

分布式鎖

思路:首先創(chuàng)建一個鎖節(jié)點,需要獲得鎖的機器在鎖節(jié)點下創(chuàng)建順序臨時節(jié)點,序號1的節(jié)點獲得鎖,獲得鎖的機器刪除節(jié)點或者自己掛掉則自動釋放節(jié)點了,序號2的節(jié)點創(chuàng)建時需要監(jiān)聽序號1的節(jié)點,節(jié)點1掛掉之后收到通知便獲得鎖,避免羊群效應。

分布式讀寫鎖

思路:首先創(chuàng)建鎖節(jié)點,需要獲取讀寫鎖的機器對鎖節(jié)點的子節(jié)點列表進行監(jiān)聽,并且在鎖節(jié)點下創(chuàng)建節(jié)點
對于需要獲得讀權限的機器收到通知時:
if 比自己序號小的節(jié)點都是讀節(jié)點
獲得讀寫鎖
else
繼續(xù)等待
對于需要獲得寫權限的機器收到通知時:
if 如果自己是最小序號的節(jié)點
獲得讀寫鎖
else
繼續(xù)等待

分布式柵欄

思路:首先創(chuàng)建鎖節(jié)點,鎖節(jié)點值為n,參與柵欄的節(jié)點注冊對所節(jié)點的監(jiān)聽并在鎖節(jié)點下創(chuàng)建節(jié)點,當監(jiān)聽到鎖節(jié)點下的子節(jié)點個數(shù)為n時則沖破柵欄,并且刪除子節(jié)點

分布式信號量

思路:首先創(chuàng)建鎖節(jié)點,鎖節(jié)點值為n,即信號量數(shù)目,需要獲取信號量的節(jié)點對鎖節(jié)點的子節(jié)點列表進行監(jiān)聽并在鎖節(jié)點下創(chuàng)建順序節(jié)點,收到鎖節(jié)點通知時判斷比自己序號小的節(jié)點個數(shù)是否小于n,如果是則獲得信號量,如果不是繼續(xù)等待

分布式閉鎖

思路:與分布式柵欄類似,區(qū)別是需要獲得閉鎖的機器不需要創(chuàng)建節(jié)點只需要監(jiān)聽,當子節(jié)點個數(shù)達到n時獲得閉鎖

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 本文主要從應用的角度對ZooKeeper做了淺析,試圖闡明ZooKeeper是什么、主要應用場景有哪些、常用場景可...
    菜鳥小玄閱讀 3,476評論 0 6
  • Zookeeper 1. Zookeeper概念簡介: Zookeeper是一個分布式協(xié)調服務;就是為用戶的分布式...
    hahaxiou閱讀 729評論 3 1
  • 1 Zookeeper概述# ZooKeeper是一個為分布式應用所設計的分布的、開源的協(xié)調服務,它主要是用來解決...
    七寸知架構閱讀 7,479評論 0 101
  • 此文知識來自于:《從Paxos到Zookeeper分布式一致性原理與實踐》第六章 集群管理(子節(jié)點) Master...
    李文文丶閱讀 683評論 0 1
  • 從來都沒有問不認識的男生要過手機號碼 但是從上飛機的第一刻第一眼就看到了坐在第三排靠走廊的穿著黑色襯衣的男生 干干...
    隨筆患者閱讀 272評論 0 0

友情鏈接更多精彩內容