zk介绍
1. 配置管理
Zookeeper提供了這樣的一種服務:一種集中管理配置的方法,我們在這個集中的地方修改了配置,所有對這個配置感興趣的都可以獲得變更。這樣就省去手動拷貝配置了,還保證了可靠和一致性。?
2. 名字服務
這個可以簡單理解為一個電話薄,電話號碼不好記,但是人名好記,要打誰的電話,直接查人名就好了。?
分布式環境下,經常需要對應用/服務進行統一命名,便于識別不同服務;?
?類似于域名與ip之間對應關系,域名容易記住;?
?通過名稱來獲取資源或服務的地址,提供者等信息
3. 分布式鎖
4. 集群管理
Zookeeper的特點
1 最終一致性:為客戶端展示同一視圖,這是zookeeper最重要的功能。?
2 可靠性:如果消息被到一臺服務器接受,那么它將被所有的服務器接受。?
3 實時性:Zookeeper不能保證兩個客戶端能同時得到剛更新的數據,如果需要最新數據,應該在讀數據之前調用sync()接口。?
4 等待無關(wait-free):慢的或者失效的client不干預快速的client的請求。?
5 原子性:更新只能成功或者失敗,沒有中間狀態。?
6 順序性:所有Server,同一消息發布順序一致。
?
Zookpeeper的基本架構
1 每個Server在內存中存儲了一份數據;?
2 Zookeeper啟動時,將從實例中選舉一個leader(Paxos協議);?
3 Leader負責處理數據更新等操作(Zab協議);?
4 一個更新操作成功,當且僅當大多數Server在內存中成功修改?
數據。?
?
轉載于:https://www.cnblogs.com/panxuejun/p/8572259.html
總結
- 上一篇: node执行cmd命令方法
- 下一篇: 并发的HashMap为什么会引起死循环?