zookeeper 都有哪些使用場(chǎng)景?
巴宜網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)2013年至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
假設(shè)現(xiàn)在聊的話題是分布式系統(tǒng),面試官跟你聊完了 dubbo 相關(guān)的一些問(wèn)題之后,已經(jīng)確認(rèn)你對(duì)分布式服務(wù)框架/RPC框架基本都有一些認(rèn)知了。
那么接下來(lái)他可能開始要跟你聊分布式相關(guān)的其它問(wèn)題了,比如分布式鎖。
分布式鎖這個(gè)東西很常用,無(wú)論做 Java 系統(tǒng)開發(fā)或者分布式系統(tǒng),都可能會(huì)有一些場(chǎng)景會(huì)用到。而最常用的分布式鎖就是基于 zookeeper 來(lái)實(shí)現(xiàn)的。
說(shuō)實(shí)話,問(wèn)這個(gè)問(wèn)題,一般就是看看你是否了解 zookeeper,因?yàn)?zookeeper 是分布式系統(tǒng)中很常見(jiàn)的一個(gè)基礎(chǔ)系統(tǒng)。
并且面試官問(wèn)的話,常問(wèn)的就是 zookeeper 的使用場(chǎng)景是什么?看你知道不知道一些基本的使用場(chǎng)景。當(dāng)然其實(shí) zookeeper 挖深了自然是可以問(wèn)的很深很深的。
大致來(lái)說(shuō),zookeeper 的使用場(chǎng)景如下,我就舉下面幾個(gè)簡(jiǎn)單的例子,大家能說(shuō)這幾個(gè)就OK了:
分布式協(xié)調(diào)
分布式鎖
元數(shù)據(jù)/配置信息管理
HA高可用性
這個(gè)其實(shí)是 zookeeper 很經(jīng)典的一個(gè)用法,簡(jiǎn)單來(lái)說(shuō),就好比你 A 系統(tǒng)發(fā)送個(gè)請(qǐng)求到 mq,然后 B 系統(tǒng)消息消費(fèi)之后處理了。
那 A 系統(tǒng)如何知道 B 系統(tǒng)的處理結(jié)果?
答案是:用 zookeeper 就可以實(shí)現(xiàn)分布式系統(tǒng)之間的協(xié)調(diào)工作。A 系統(tǒng)發(fā)送請(qǐng)求之后可以在 zookeeper 上對(duì)某個(gè)節(jié)點(diǎn)的值注冊(cè)個(gè)監(jiān)聽器,一旦 B 系統(tǒng)處理完了就修改 zookeeper 那個(gè)節(jié)點(diǎn)的值,A 系統(tǒng)立馬就可以收到通知,完美解決。
下圖用一個(gè)用戶提交訂單請(qǐng)求展示了整個(gè)過(guò)程:
這是zk的第二個(gè)使用場(chǎng)景。舉個(gè)栗子,對(duì)某一個(gè)數(shù)據(jù)連續(xù)發(fā)出兩個(gè)修改操作,兩臺(tái)機(jī)器同時(shí)收到了請(qǐng)求,但是只能一臺(tái)機(jī)器先執(zhí)行完另外一個(gè)機(jī)器再執(zhí)行。
那么此時(shí)就可以使用 zookeeper 分布式鎖,一個(gè)機(jī)器接收到了請(qǐng)求之后先獲取 zookeeper 上的一把分布式鎖,就可以去創(chuàng)建一個(gè) znode,接著執(zhí)行操作;
然后另外一個(gè)機(jī)器也嘗試去創(chuàng)建那個(gè) znode,結(jié)果發(fā)現(xiàn)自己創(chuàng)建不了,因?yàn)楸粍e人創(chuàng)建了,那只能等著,等第一個(gè)機(jī)器執(zhí)行完了自己再執(zhí)行。
整個(gè)過(guò)程,如下圖所示:
第三個(gè)場(chǎng)景,zookeeper 可以用作很多系統(tǒng)的配置信息的管理,比如 kafka、storm 等等很多分布式系統(tǒng)都會(huì)選用 zookeeper 來(lái)做一些元數(shù)據(jù)、配置信息的管理,包括 dubbo 注冊(cè)中心不也支持 zookeeper 么?
下圖展示了如何用zookeeper管理dubbo注冊(cè)中心。
HA高可用性
第四個(gè)應(yīng)用場(chǎng)景即高可用(HA),這個(gè)應(yīng)該是很常見(jiàn)的。
比如 hadoop、hdfs、yarn 等很多大數(shù)據(jù)系統(tǒng),都選擇基于 zookeeper 來(lái)開發(fā) HA 高可用機(jī)制。
具體來(lái)說(shuō)就是一個(gè)重要進(jìn)程一般會(huì)做主備兩個(gè),主進(jìn)程掛了立馬通過(guò) zookeeper 感知到切換到備用進(jìn)程。
同樣還是通過(guò)一張圖來(lái)看看
分享標(biāo)題:zookeeper有哪些應(yīng)用場(chǎng)景?面試官希望聽到這4點(diǎn)
轉(zhuǎn)載源于:http://m.rwnh.cn/article18/jdgsgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、搜索引擎優(yōu)化、移動(dòng)網(wǎng)站建設(shè)、云服務(wù)器、虛擬主機(jī)、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)