zookeeper常見面試題

2021-07-25 14:17:36 字數 1039 閱讀 3725

zookeeper是如何保證事務的順序一致性的

zookeeper採用了遞增的事務id來標識,所有的proposal都在被提出的時候加上了zxid,zxid實際上是乙個64位的數字,高32位是epoch用來標識leader是否發生改變,如果有新的leader產生出來,epoch會自增,低32位用來遞增計數。當新產生proposal的時候,會依據資料庫的兩階段過程,首先會向其他的server發出事務執行請求,如果超過半數的機器都能執行並且能夠成功,那麼就會開始執行

zookeeper是如何選取主leader的?

當leader崩潰或者leader失去大多數的follower,這時zk進入恢復模式,

zk中znode型別有四種,持久化目錄節點 持久化順序編號目錄節點(有順序 能夠在註冊機器等許多場景用到) 臨時目錄節點 臨時順序編號節點 

zk的通知機制

client端會對某個znode建立乙個watcher事件,當該znode發生變化時,這些client會收到zk的通知,然後client可以根據znode變化來做出業務上的改變等。

zk的配置管理

程式分布式的部署在不同的機器上,將程式的配置資訊放在zk的znode下,當有配置發生改變時,也就是znode發生變化時,可以通過改變zk中某個目錄節點的內容,利用water通知給各個客戶端 從而更改配置。

zk的命名服務

命名服務是指通過指定的名字來獲取資源或者服務的位址,利用zk建立乙個全域性的路徑,這個路徑就可以作為乙個名字,指向集群中的集群,提供的服務的位址,或者乙個遠端的物件等等。

分布式通知和協調

對於系統排程來說:操作人員傳送通知實際是通過控制台改變某個節點的狀態,然後zk將這些變化傳送給註冊了這個節點的watcher的所有客戶端。

對於執**況匯報:每個工作程序都在某個目錄下建立乙個臨時節點。並攜帶工作的進度資料,這樣彙總的程序可以監控目錄子節點的變化獲得工作進度的實時的全域性情況。

機器中為什麼會有master;

在分布式環境中,有些業務邏輯只需要集群中的某一台機器進行執行,其他的機器可以共享這個結果,這樣可以大大減少重複計算,提高效能,於是就需要進行master選舉。

ZooKeeper常見面試題

zookeeper是什麼框架 分布式的 開源的分布式應用程式協調服務,原本是hadoop hbase的乙個重要元件。它為分布式應用提供一致性服務的軟體,包括 配置維護 網域名稱服務 分布式同步 組服務等。應用場景 zookeeper的功能很強大,應用場景很多,結合我實際工作中使用dubbo框架的情況...

常見面試題

1.get和post的區別 1 本質區別 get是向伺服器請求資料,post是向伺服器傳送資料。2 伺服器獲取值的方式 get方式提交的資料,伺服器端使用request.querystring獲取變數的值。post方式提交的資料,伺服器端使用request.form獲取資料。3 安全性 get安全效...

常見面試題

1 一行 實現1 100之和 lst i for i in range 1,101 print sum lst 2 如何在乙個函式內部修改全域性變數?在函式內部新增 global 變數名 這樣就可以在本地作用域定義全域性作用域了 name 大明 def eat name1 global name n...