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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

[ ZooKeeper]ZooKeeper 的功能和原理

發布時間:2025/3/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [ ZooKeeper]ZooKeeper 的功能和原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Zookeeper功能簡介:

ZooKeeper 是一個開源的分布式協調服務,由雅虎創建,是 Google Chubby 的開源實現。分布式應用程序可以基于 ZooKeeper 實現諸如數據發布/訂閱、負載均衡、命名服務、分布式協調/通知、集群管理、Master 選舉、配置維護,名字服務、分布式同步、分布式鎖和分布式隊列等功能。

?

?ZooKeeper幾個核心概念

集群角色

一個 ZooKeeper 集群同一時刻只會有一個 Leader,其他都是 Follower 或 Observer。

ZooKeeper 配置很簡單,每個節點的配置文件(zoo.cfg)都是一樣的,只有 myid 文件不一樣。myid 的值必須是 zoo.cfg中server.{數值} 的{數值}部分。

在裝有 ZooKeeper 的機器的終端執行 zookeeper-server status 可以看當前節點的 ZooKeeper是什么角色(Leader or Follower)。

1.ZooKeeper 集群的所有機器通過一個 Leader 選舉過程來選定一臺被稱為『Leader』的機器,Leader服務器為客戶端提供讀和寫服務。

2.Follower 和 Observer 都能提供讀服務,不能提供寫服務。兩者唯一的區別在于,Observer機器不參與 Leader 選舉過程,也不參與寫操作的『過半寫成功』策略,因此 Observer 可以在不影響寫性能的情況下提升集群的讀性能。

節點讀寫服務分工

1.ZooKeeper 集群的所有機器通過一個 Leader 選舉過程來選定一臺被稱為『Leader』的機器,Leader服務器為客戶端提供讀和寫服務。

2.Follower 和 Observer 都能提供讀服務,不能提供寫服務。兩者唯一的區別在于,Observer機器不參與 Leader 選舉過程,也不參與寫操作的『過半寫成功』策略,因此 Observer 可以在不影響寫性能的情況下提升集群的讀性能

Session

Session 是指客戶端會話,在講解客戶端會話之前,我們先來了解下客戶端連接。在ZooKeeper 中,一個客戶端連接是指客戶端和 ZooKeeper 服務器之間的TCP長連接。

ZooKeeper 對外的服務端口默認是2181,客戶端啟動時,首先會與服務器建立一個TCP連接,從第一次連接建立開始,客戶端會話的生命周期也開始了,通過這個連接,客戶端能夠通過心跳檢測和服務器保持有效的會話,也能夠向 ZooKeeper 服務器發送請求并接受響應,同時還能通過該連接接收來自服務器的 Watch 事件通知。

Session 的 SessionTimeout 值用來設置一個客戶端會話的超時時間。當由于服務器壓力太大、網絡故障或是客戶端主動斷開連接等各種原因導致客戶端連接斷開時,只要在 SessionTimeout 規定的時間內能夠重新連接上集群中任意一臺服務器,那么之前創建的會話仍然有效

?

?

?

轉載于:https://www.cnblogs.com/szss/p/9929539.html

總結

以上是生活随笔為你收集整理的[ ZooKeeper]ZooKeeper 的功能和原理的全部內容,希望文章能夠幫你解決所遇到的問題。

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