日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Zookeeper知识梳理

發布時間:2024/10/6 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Zookeeper知识梳理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.Zookeeper工作機制

1.1 工作機制Zookeeper

基于觀察者模式的分布式管理框架,它負責存儲和管理數據,然后接受觀察者的的注冊,一旦這些數據發生改變,Zookeeper就負責通知已在Zookeeper上注冊的那些觀察者做出相應反應

1.2 Zookeeper的特點
  • Zookeeper:一個領導者(Leader),多個更隨著(Follower)組成的集群
  • Zookeeper集群群只有在半數以上節點存活,才能正常服務
  • 全局數據一致性:每個Server保存一份相同的副本,Client無論連接那個Server,數據都是一致的
  • 更新請求順序進行,來自一個Client的請求按照其發送順序依次進行
  • 數據原子性,一次更新要么成功要么失敗
  • 實時性,在一定時間內,Client能讀到最新數據
  • 1.2 Zookeeper內部原理
    1.2.1 選舉機制:
  • 半數機制:Zookeeper集群半數機器存活,集群可用。所以適合安裝奇數臺服務器
  • Zookeeper雖然沒有指定Master和Slave,但是Zookeeper工作時,會有一個Leader節點,其他節點為Follower,Leader是通過內部選舉機制產生
  • 1.2.2 節點類型:
  • 持久化目錄節點:客戶端斷開連接后,創建的節點不刪除
  • 持久化順序編號目錄節點:持久化目錄節點(Persisent):客戶端斷開連接后,創建的節點不刪除,指示該節點按照名稱進行編號
  • 臨時目錄節點:客戶端與Zookeeper斷開連接后,該節點被刪除
  • 臨時順序編號目錄節點:客戶端與zookeeper斷開連接后,開節點被刪除,只是Zookeeper對節點名稱順序編號
  • 1.2.2 監聽器原理:
    • 監聽原理詳解
  • 首先要有一個main()線程
  • main線程中創建zookeeper 客戶端,這時就會創建兩個線程,一個負責網絡連接通信(connect),另一個負責監聽(listen)
  • 通過connector線程將注冊監聽事件發送給zookeeper
  • zookeeper將注冊監聽時間添加到注冊監聽列表中
  • Zookeeper監聽到數據或路徑發生變化,就會將這個消息發送給listener線程
  • listener線程調用內部的process()方法
    • 常見監聽
  • 監聽節點數據變化:get path[watch]
  • 監聽子節點變化:ls path[watch]
  • 總結

    以上是生活随笔為你收集整理的Zookeeper知识梳理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。