分布式系統的面試題11


 

1、面試題

 

zk都有哪些使用場景?

 

2、面試官心里分析

 

zkzookeeper,你們現在在聊的面試topic,是分布式系統,他其實已經跟你聊完了dubbo以及相關的一些問題,確認,你現在分布式服務框架,rpc框架,基本都有一些認知。可能開始要跟你聊分布式相關的其他問題了。

 

分布式鎖這個東西,很常用的,你做java系統開發,分布式系統,可能會有一些場景會用到。最常用的分布式鎖就是zookeeper來做分布式鎖。

 

其實說實話,問這個問題,一般就是看看你是否了解zk,因為zk是分布式系統中很常見的一個基礎系統。而且問的話常問的就是說zk的使用場景是什么?看你知道不知道一些基本的使用場景。但是其實zk挖深了自然是可以問的很深很深的。

 

友情提示,如果有某個同學連zookeeper是什么都不知道?聽說過,連個基本原理都不知道,連個demo都沒寫過。我建議你先暫停這個課程,先百度一下,zookeeper入門,最好寫helloworld級別的demo程序,體驗一把。

 

3、面試題剖析

 

大致來說,zk的使用場景如下,我就舉幾個簡單的,大家能說幾個就好了:

 

1)分布式協調:這個其實是zk很經典的一個用法,簡單來說,就好比,你A系統發送個請求到mq,然后B消息消費之后處理了。那A系統如何知道B系統的處理結果?用zk就可以實現分布式系統之間的協調工作。A系統發送請求之后可以在zk上對某個節點的值注冊個監聽器,一旦B系統處理完了就修改zk那個節點的值,A立馬就可以收到通知,完美解決。

 

 

2)分布式鎖:對某一個數據連續發出兩個修改操作,兩台機器同時收到了請求,但是只能一台機器先執行另外一個機器再執行。那么此時就可以使用zk分布式鎖,一個機器接收到了請求之后先獲取zk上的一把分布式鎖,就是可以去創建一個znode,接着執行操作;然后另外一個機器也嘗試去創建那個znode,結果發現自己創建不了,因為被別人創建了。。。。那只能等着,等第一個機器執行完了自己再執行。

 

 

3)元數據/配置信息管理:zk可以用作很多系統的配置信息的管理,比如kafkastorm等等很多分布式系統都會選用zk來做一些元數據、配置信息的管理,包括dubbo注冊中心不也支持zk

 

 

4HA高可用性:這個應該是很常見的,比如hadoophdfsyarn等很多大數據系統,都選擇基於zk來開發HA高可用機制,就是一個重要進程一般會做主備兩個,主進程掛了立馬通過zk感知到切換到備用進程

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM