資料介紹
從傳統(tǒng)Java Web轉(zhuǎn)入分布式系統(tǒng)應用,再到接觸分布式協(xié)調(diào)框架ZooKeeper,通過痛苦的思維邏輯和理念轉(zhuǎn)變,歷經(jīng)一個月時間,小伙伴們終于把ZooKeeper嵌入到了BoCloud博云的BeyondContainer中,并在其上進行相應功能的開發(fā): 服務注冊與發(fā)現(xiàn)、 集群管理、 模塊的高可用及分布式鎖等。
在選定ZooKeeper之前,我們對其他的分布式框架也進行了調(diào)研和對比,分別 有etcd和consul。對于etcd而言,在原生接口和提供服務方式方面,etcd更適合作為集群配置服務器,用來存儲集群中的大量數(shù)據(jù),方便的REST接口也可以讓集群中的任意一個節(jié)點在使用key |value服務時獲取方便,然而etcd在監(jiān)控服務的狀態(tài)和通知方面比較麻煩;consul方面,是使用Go語言開發(fā)的分布式協(xié)調(diào),對業(yè)務發(fā)現(xiàn)的管理提供很好的支持,他的HTTP API也能很好的和不同的語言綁定,但在業(yè)務檢測方面有一定的延時,不太適合實時響應的情景;并且etcd和consul需要其他組件的配合才能達到ZooKeeper的服務能力,故ZooKeeper則更加的適合于提供分布式協(xié)調(diào)服務,實現(xiàn)分布式鎖模型方面也較為簡單方便,并且功能全,社區(qū)活躍,用戶群體很大,對所有典型的用例都有很好的封裝,支持不同語言的綁定,故最終選定ZooKeeper。
在產(chǎn)品開發(fā)中使用ZooKeeper是一件有趣的事情,下面就讓我們來詳細扒一扒我們的開發(fā)體驗吧。
一簡單介紹
先來簡單說明下ZooKeeper原理,再來談談在產(chǎn)品中的具體使用。ZooKeeper是一個開放源碼的分布式應用程序協(xié)調(diào)服務,由知名互聯(lián)網(wǎng)公司雅虎創(chuàng)建,是Google Chubby的開源實現(xiàn)。設計目標是為分布式提供一致性服務,其沒有直接采用Paxos算法,而是采用了被稱為ZAB的一致性協(xié)議。 ZooKeeper具有以下幾個特征:
1、數(shù)據(jù)模型
ZooKeeper使用一個共享的、樹形結(jié)構(gòu)的名字空間-數(shù)據(jù)模型,其由一系列被稱為ZNode的的數(shù)據(jù)節(jié)點組成,其層級關系,如文件系統(tǒng)的目錄結(jié)構(gòu)一樣,結(jié)構(gòu)如下圖所示:

每個Znode上都會保存自己的數(shù)據(jù)內(nèi)容以及屬性信息,節(jié)點分為持久節(jié)點和臨時節(jié)點,持久節(jié)點除非進行刪除操作,否則將會一直保存在ZooKeeper上;而臨時節(jié)點,他的生命周期和客戶端會話綁定,一旦會話失效,這個客戶端所創(chuàng)建的所有臨時節(jié)點都會被刪除。另外,可以給節(jié)點加上一個屬性:sequential,節(jié)點創(chuàng)建的時候,會自動在節(jié)點后面追加一個由父節(jié)點維護的自增數(shù)字。
掃碼添加小助手
加入工程師交流群
- 基于OpenHarmony的分布式應用開發(fā)框架使用教程 10次下載
- 分布式電源對配電系統(tǒng)的影響分析
- 基于Simulink的電子對抗分布式仿真系統(tǒng) 26次下載
- 基于KingSCADA的分布式運動控制監(jiān)測系統(tǒng) 10次下載
- 基于DSP的航空發(fā)動機分布式總線設計方案 14次下載
- 基于分布式數(shù)據(jù)Cache的實時動態(tài)遷移機制 20次下載
- 一種分布式網(wǎng)絡掃描架構(gòu)和任務調(diào)度算法 19次下載
- 如何通過YARN設計分布式資源動態(tài)調(diào)度協(xié)同分配系統(tǒng) 12次下載
- 分布式電源上網(wǎng)電價機制 8次下載
- 分布式的Erlang程序:陷阱和對策 23次下載
- 分布式電源設計及發(fā)展新趨勢
- TD分布式基站技術(shù)探討
- 能源開發(fā)新技術(shù)—分布式發(fā)電
- 分布式發(fā)電技術(shù)與微型電網(wǎng)
- 分布式對象調(diào)試中的事件模型
- Java手寫分布式鎖的實現(xiàn) 1.3k次閱讀
- tldb提供分布式鎖使用方法 1.7k次閱讀
- 深入理解redis分布式鎖 1.7k次閱讀
- 鴻蒙分布式相機“踩坑”分享 3.1k次閱讀
- zookeeper+kafka on k8s環(huán)境部署 1.9k次閱讀
- Zookeeper使用注意事項 1.4k次閱讀
- TS語言開發(fā)HarmonyOS應用:分布式計算器開發(fā)教程 3.6k次閱讀
- 利用NI VeriStand 2010實現(xiàn)分布式同步系統(tǒng)的設計 4.1k次閱讀
- 基于Jini互聯(lián)技術(shù)實現(xiàn)分布式嵌入式系統(tǒng)的設計 3.9k次閱讀
- 詳談分布式系統(tǒng)的定義及屬性 4.6k次閱讀
- 分布式光纖傳感器原理_分布式光纖傳感器的應用 9.8k次閱讀
- Redis 分布式鎖的正確實現(xiàn)方式 4.1k次閱讀
- 淺談分布式塊存儲的元數(shù)據(jù)服務設計 5.4k次閱讀
- zookeeper集群基礎知識與linux系統(tǒng)環(huán)境的搭建 2.1k次閱讀
- 深度解讀分布式存儲技術(shù)之分布式剪枝系統(tǒng) 2.2k次閱讀
下載排行
本周
- 1MDD品牌三極管BC807數(shù)據(jù)手冊
- 3.00 MB | 次下載 | 免費
- 2MDD品牌三極管BC817數(shù)據(jù)手冊
- 2.51 MB | 次下載 | 免費
- 3MDD品牌三極管D882數(shù)據(jù)手冊
- 3.49 MB | 次下載 | 免費
- 4MDD品牌三極管MMBT2222A數(shù)據(jù)手冊
- 3.26 MB | 次下載 | 免費
- 5MDD品牌三極管MMBTA56數(shù)據(jù)手冊
- 3.09 MB | 次下載 | 免費
- 6MDD品牌三極管MMBTA92數(shù)據(jù)手冊
- 2.32 MB | 次下載 | 免費
- 7STM32G474 HRTIME PWM 丟波問題分析與解決
- 1.00 MB | 次下載 | 3 積分
- 8新能源電動汽車高壓線束的銅鋁連接解決方案
- 2.71 MB | 次下載 | 2 積分
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 3PC5502負載均流控制電路數(shù)據(jù)手冊
- 1.63 MB | 22次下載 | 免費
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論