zk介绍
1. 配置管理
Zookeeper提供了這樣的一種服務(wù):一種集中管理配置的方法,我們?cè)谶@個(gè)集中的地方修改了配置,所有對(duì)這個(gè)配置感興趣的都可以獲得變更。這樣就省去手動(dòng)拷貝配置了,還保證了可靠和一致性。?
2. 名字服務(wù)
這個(gè)可以簡(jiǎn)單理解為一個(gè)電話薄,電話號(hào)碼不好記,但是人名好記,要打誰(shuí)的電話,直接查人名就好了。?
分布式環(huán)境下,經(jīng)常需要對(duì)應(yīng)用/服務(wù)進(jìn)行統(tǒng)一命名,便于識(shí)別不同服務(wù);?
?類似于域名與ip之間對(duì)應(yīng)關(guān)系,域名容易記住;?
?通過(guò)名稱來(lái)獲取資源或服務(wù)的地址,提供者等信息
3. 分布式鎖
4. 集群管理
Zookeeper的特點(diǎn)
1 最終一致性:為客戶端展示同一視圖,這是zookeeper最重要的功能。?
2 可靠性:如果消息被到一臺(tái)服務(wù)器接受,那么它將被所有的服務(wù)器接受。?
3 實(shí)時(shí)性:Zookeeper不能保證兩個(gè)客戶端能同時(shí)得到剛更新的數(shù)據(jù),如果需要最新數(shù)據(jù),應(yīng)該在讀數(shù)據(jù)之前調(diào)用sync()接口。?
4 等待無(wú)關(guān)(wait-free):慢的或者失效的client不干預(yù)快速的client的請(qǐng)求。?
5 原子性:更新只能成功或者失敗,沒(méi)有中間狀態(tài)。?
6 順序性:所有Server,同一消息發(fā)布順序一致。
?
Zookpeeper的基本架構(gòu)
1 每個(gè)Server在內(nèi)存中存儲(chǔ)了一份數(shù)據(jù);?
2 Zookeeper啟動(dòng)時(shí),將從實(shí)例中選舉一個(gè)leader(Paxos協(xié)議);?
3 Leader負(fù)責(zé)處理數(shù)據(jù)更新等操作(Zab協(xié)議);?
4 一個(gè)更新操作成功,當(dāng)且僅當(dāng)大多數(shù)Server在內(nèi)存中成功修改?
數(shù)據(jù)。?
?
轉(zhuǎn)載于:https://www.cnblogs.com/panxuejun/p/8572259.html
總結(jié)
- 上一篇: node执行cmd命令方法
- 下一篇: C++ 高质量程序设计指南读书笔记