摘要:領(lǐng)導(dǎo)人選舉領(lǐng)導(dǎo)人選舉配方。讀寫鎖保持一對相關(guān)的鎖,一個用于只讀操作,一個用于寫入。它首先嘗試使用樂觀鎖定。您可以注冊一個將在發(fā)生更改時收到通知的偵聽器。名稱來源策展人的產(chǎn)生于西方博物館美術(shù)館體系的建立密切相關(guān)。
Curator: ZooKeeper的使用配方
ZooKeeper 作為分布式的存儲方式, 有很多種使用場景, 把典型的使用場景提取出來, 成為"配方", 方便用戶參考. Curator 作為這些典型場景的具體實現(xiàn)框架, 進(jìn)一步簡化了用戶的使用成本.
Curator 實現(xiàn)了 ZooKeeper 配方文檔中列出的所有配方(兩階段提交除外)。單擊下面的配方名稱以獲取詳細(xì)文檔。注意:大多數(shù) Curator 配方將自動創(chuàng)建配方的路徑的父節(jié)點, 默認(rèn)值為 CreateMode.CONTAINER (即znode 為容器節(jié)點, 用于鎖, 選舉等功能, 空容器可能會被節(jié)點刪除)。另請參閱有關(guān)“Curator Recipes Own Their ZNode/Paths”的技術(shù)說明7。
選舉領(lǐng)導(dǎo)者閂鎖 - 在分布式計算中,領(lǐng)導(dǎo)者選舉是指定單個流程作為分布在多個計算機(節(jié)點)中的某個任務(wù)的組織者的過程。在任務(wù)開始之前,所有網(wǎng)絡(luò)節(jié)點都不知道哪個節(jié)點將充當(dāng)任務(wù)的“領(lǐng)導(dǎo)者”或協(xié)調(diào)者。然而,在運行了領(lǐng)導(dǎo)者選舉算法之后,整個網(wǎng)絡(luò)中的每個節(jié)點都將特定的唯一節(jié)點識別為任務(wù)領(lǐng)導(dǎo)者。
領(lǐng)導(dǎo)人選舉 - Curator 領(lǐng)導(dǎo)人選舉配方。
鎖共享重入鎖 - 完全分布式鎖,全局同步,意味著在任何快照時,沒有兩個客戶端認(rèn)為它們具有相同的鎖定。
共享鎖 - 與共享重入鎖類似,但不可重入。
共享可重入讀寫鎖 - 可跨 JVM 運行的可重入讀/寫互斥鎖。讀寫鎖保持一對相關(guān)的鎖,一個用于只讀操作,一個用于寫入。只要沒有寫入時,讀鎖定可以由多個讀取器進(jìn)程同時保持。寫鎖是獨占的。
共享信號量 - 一種適用于跨 JVM 的計數(shù)信號量。所有進(jìn)程使用相同鎖定路徑的在全部 JVM 中的都將實現(xiàn)進(jìn)程間有限的租約。此外,這個信號量大多是“公平的” - 每個用戶將按照要求的順序獲得租約(從ZK的角度來看)。
多共享鎖 - 將多個鎖作為單個實體進(jìn)行管理的容器。調(diào)用acquire() 時,將獲取所有鎖。如果失敗,則釋放所有已獲取的路徑。類似地,當(dāng)調(diào)用release() 時,將釋放所有鎖(忽略失?。?。
屏障屏障 - 分布式系統(tǒng)使用屏障來阻止一組節(jié)點的處理,直到滿足條件,此時允許所有節(jié)點繼續(xù)運行。
雙重屏障 - 雙重屏障使客戶端能夠同步計算的開始和結(jié)束。當(dāng)足夠的進(jìn)程加入屏障時,進(jìn)程開始計算并在完成后離開屏障。
計數(shù)器共享計數(shù)器 - 管理共享整數(shù)。觀看相同路徑的所有客戶端將具有共享整數(shù)的最新值(考慮ZK的正常一致性保證)。
分布式原子長整形 - 一個嘗試原子增量的計數(shù)器。它首先嘗試使用樂觀鎖定。如果失敗,則采用可選的 InterProcessMutex。對于樂觀和互斥兩種情況,都有重試策略用于重試增量。
高速緩存路徑緩存 - 路徑緩存用于觀察 ZNode。每當(dāng)添加,更新或刪除子項時,路徑緩存將更改其狀態(tài)以包含當(dāng)前子項集,子項的數(shù)據(jù)和子項的狀態(tài)。Curator 框架中的路徑緩存由 PathChildrenCache 類提供。對路徑的更改將傳遞給已注冊的 PathChildrenCacheListener 實例。
節(jié)點緩存 - 一種試圖保持本地緩存的節(jié)點數(shù)據(jù)的實用程序。此類將監(jiān)聽節(jié)點,響應(yīng)更新/創(chuàng)建/刪除事件,下拉數(shù)據(jù)等。您可以注冊一個偵聽器, 在發(fā)生更改時將收到通知。
樹緩存 - 一種實用程序,它嘗試在本地緩存 Z K路徑的所有子節(jié)點的所有數(shù)據(jù)。此類將觀察 ZK 路徑,響應(yīng)更新/創(chuàng)建/刪除事件,下拉數(shù)據(jù)等。您可以注冊一個將在發(fā)生更改時收到通知的偵聽器。
節(jié)點持久節(jié)點 - 嘗試一直保持在 ZooKeeper 中的節(jié)點,即使通過連接和會話中斷也是如此。
持久性TTL節(jié)點 - 當(dāng)您需要創(chuàng)建 TTL 節(jié)點, 但又不希望通過定期手動設(shè)置數(shù)據(jù)來保持其活動時非常有用。
集團(tuán)成員 - 集團(tuán)成員管理。將此實例添加到組中,并在組中保留成員的緩存。
隊列分布式隊列 - 分布式隊列 ZK 配方的實現(xiàn)。保證排入隊列的項目(通過 ZK 的PERSISTENTSEQUENTIAL 節(jié)點)。如果單個消費者從隊列中取出物品,他們將按FIFO 排序。如果順序很重要,請使用 LeaderSelector 指定單個消費者。
分布式Id隊列 - DistributedQueue 的一個版本,它允許ID與隊列項相關(guān)聯(lián)。如果需要,可以從隊列中刪除項目。
分布式優(yōu)先級隊列 - 一種分布式優(yōu)先級隊列 ZK 配方的實現(xiàn)。
分布式延遲隊列 - 一種分布式延遲隊列的實現(xiàn)。
簡單分布式隊列 - ZK分發(fā)附帶的 DistributedQueue 的替代品。
Curator 名稱來源策展人(curator)的產(chǎn)生于西方博物館、美術(shù)館體系的建立密切相關(guān)。英文“curator”一詞在英漢詞典中以前通常被翻譯成“博物館館長”、“掌管者”、或“監(jiān)護(hù)人”等,和藝術(shù)關(guān)系最為密切的大概是“博物館館長”。事實上,在西方語境中,“curator”作為職業(yè)最早也主要是指16世紀(jì)以來隨著私人博物館的興起而出現(xiàn)的在館內(nèi)負(fù)責(zé)藏品研究、保管和陳列的專職人員。在某些情況下,curator可能也就是館長(director),亦需負(fù)責(zé)博物館的行政管理、資金籌集和社會關(guān)系等。后來,隨著藝術(shù)品在館藏中數(shù)量增多和重要性上升,出現(xiàn)了專門負(fù)責(zé)館藏藝術(shù)品研究、保管和陳列的人員。
參考文獻(xiàn)http://curator.apache.org/cur...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/73388.html
零 版本 JDK 版本 : OpenJDK 11.0.1 IDE : idea 2018.3 Zookeeper Server 版本 : 3.5.4-beta Zookeeper Client 版本 : 3.5.4-beta Curator 版本 : 4.2.0 一 Zookeeper Client Zookeeper Client 是 Zookeeper 的經(jīng)典原生客戶端。使用之前需要在 Mav...
摘要:改變服務(wù)器狀態(tài)崩潰恢復(fù)數(shù)據(jù)同步,或者崩潰恢復(fù)消息廣播消息廣播類似提交接受請求后,講這個請求賦予全局的唯一位自增。將作為議案發(fā)給所有。所有的接受到議案后,想將議案寫入硬盤后,馬上回復(fù)一個。當(dāng)接受到合法數(shù)量,給所有發(fā)送命令。 之前在公司由于業(yè)務(wù)需要,對zookeeper進(jìn)行了一些知識點的梳理進(jìn)行分享,對一些剛剛接觸zookeeper的小伙伴來說,或許可以借鑒一下 一、zookeeper介紹...
摘要:高可用的首要想法就是雙機熱備,故障時自動切換,所以我們要給加一個備機。注下面實現(xiàn)高可用都用的是雙機熱備,為了方便,把調(diào)度服務(wù)器簡稱為主機,把調(diào)度服務(wù)器的備機簡稱為備機。 我之前在一片文章 用Nginx+Redis實現(xiàn)session共享的均衡負(fù)載 中做了一個負(fù)載均衡的實驗,其主要架構(gòu)如下: showImg(https://segmentfault.com/img/bVushO); 把de...
閱讀 2804·2021-09-01 10:30
閱讀 1691·2019-08-30 15:52
閱讀 983·2019-08-29 18:40
閱讀 1139·2019-08-28 18:30
閱讀 2407·2019-08-23 17:19
閱讀 1335·2019-08-23 16:25
閱讀 2715·2019-08-23 16:18
閱讀 2992·2019-08-23 13:53