前言
最近在搞solrCloud,然後就莫名奇妙看到這個東西了。說solrCloud依賴這個服務,但這個服務在幹嘛的,我還真不知道。只好先研究一下了。怎麼感覺我換工作後一直在K文件,然後都是中文資料很少的那種😭。
正文
下面是我看了一些文章後的理解,
如果有不對的地方,還請指正。
如果是要教學安裝,可以按回上一頁了。
Zookeeper 是一個高性能、分佈式的應用協調服務。
許多的分佈式系統都是用它做功能協調。
這是為瞭解決 Master/Slave模式的單點故障隱患。
Zookeeper架構
Zookeeper服務有兩個角色,一個是leader,負責寫服務和數據同步,剩下的是follower,提供讀服務,leader失效後會在follower中重新選舉新的leader。
-
客戶端可以連接到每個server,每個server的數據完全相同。
-
每個follower都和leader有連接,接受leader的數據更新操作。
-
Server記錄事務日誌和快照到持久存儲。
-
大多數server可用,整體服務就可用。
ref:十分鐘初識zookeeper
CAP理論
- 一致性(Consistency)
- 可用性(Avallability)
- 分區容錯性(Partition tolerance)
一個分佈式系統頂多達成上面的其中兩點,
而Zookeeper保證的是CP (可用性及分區容錯性)
ref.
1.0 Zookeeper 教程
結論
已我現在接觸過的系統,比較像是 GKE上面的clusterIP,
當服務進入Zookeeper時,zookeeper會自動幫你決定該服務會導向哪。 同時會將資料保持一致,就像每個pod都是一樣的。
分佈式系統要解決的問題,除了單點故障隱患以外,還有對外統一入口、統一命名服務、狀態同步服務、集群管理、分佈式應用配置項的管理等。
沒有留言:
張貼留言