Zookeeper的簡介和應用場景

2021-08-20 19:39:06 字數 1541 閱讀 1357

zookeeper是乙個分布式協調服務;就是為使用者的分布式應用程式提供協調服務

a、zookeeper是為別的分布式程式服務的

b、zookeeper本身就是乙個分布式程式(只要有半數以上節點存活,zk就能正常服務,所以一般zk都是奇數臺伺服器)

c、zookeeper所提供的服務涵蓋:主從協調、伺服器節點動態上下線、統一配置管理、分布式共享鎖、統一名稱服務……

d、雖然說可以提供各種服務,但是zookeeper在底層其實只提供了兩個功能

zookeeper集群的角色: leader 和 follower (observer)

只要集群中有半數以上節點存活,集群就能提供服務

zookeeper的出現就是因為有需求,假設我們的系統需要和外部系統互動(採集外部系統的資料),外部系統給我們系統提供資料,外部系統部署了若干臺ftp伺服器。這些ftp伺服器會會獲取到大量的資料,每一秒鐘都有大量的資料進入到這些ftp伺服器,但是這些ftp伺服器的容量有限。所以我們的系統要及時把這些資料採集過來,避免這些新資料把老資料給覆蓋掉,所以我們也要弄若干臺伺服器去及時把資料採集過來。但如果我們的系統中有一台伺服器掛掉該怎麼辦?

假如我們的程式是提供服務的,所以我們提供服務程式的伺服器有很多臺,保證我們服務程式的高可用。假設現在我們有兩台提供服務的伺服器,現在我們客戶端來連線伺服器的時候應該去找哪一台呢?這個時候就涉及到伺服器的主從選舉的場景。

這個時候如果有第三方,然後我們的服務程式一旦啟動就去第三方去註冊。然後第三方給每台註冊的伺服器乙個編號,並記錄其ip資訊;然後我們假如指定編號最大的作為主伺服器,然後其他伺服器去監聽父節點,如果父節點下面子節點的伺服器掛掉了,第三方會幫我們刪除掉這個子節點,然後通知那些監聽的伺服器,讓他們從小選舉一台編號最大的伺服器作為主伺服器。然後客戶端來連線的時候先去找第三方,檢視當前誰是主伺服器並獲取到其ip,然後去連線到主伺服器。

所以這個第三方就是我們的zookeeper。

一台伺服器的儲存空間是有限的,我們使用solr伺服器,假如資料文件特別多,solr索引庫就會特別大,所以我們可以把乙個索引庫放到多台solr伺服器去。假如現在我們有乙個商品庫,然後我們就可以把它分片存入到每個solr伺服器中。那現在就有乙個問題了,我們solr使用的配置應該都是一樣的,比如使用的是什麼分詞器、索引有哪些字段,這些整個商品庫都應該是一樣的。但是這次配置資訊有可能會變,隔一段時間可能要增加索引字段之類的。這樣每個伺服器都需要去更新這些配置。這種操作就會很慢很麻煩也容易出錯。現在如果有乙個第三方可以幫我們儲存這個商品庫的配置,而其他的solr伺服器不再持有這些商品庫的配置。然後其他的solr伺服器都從第三方去讀取商品庫的配置資訊。一旦更新商品庫的配置資訊的時候,可以去通知solr伺服器重新讀取商品庫的配置資訊。

所以這個第三方就是我們的zookeeper。

Zookeeper概念簡介

zookeeper是乙個分布式協調服務 就是為使用者的分布式應用程式提供協調服務 a zookeeper是為別的分布式程式服務的 b zookeeper 本身就是乙個分布式程式 只要有半數以上節點存活,zk就能正常服務,zookeeper適合裝在奇數臺機器上!c zookeeper所提供的服務涵蓋 ...

zookeeper安裝簡介

zookeeper是乙個分布式服務,為使用者分布式程式提供協調服務的 zookeeper本身就是乙個分布式的程式,只要半數以上的節點存活,zk就能正常服務 zookeeper是為別的分布式程式提供協調服務 zookeeper提供服務涵蓋 主從協調 服務節點動態上下線感知 統一配置 配置中心 分布式鎖...

Zookeeper的簡單應用

首先,zookeeper是乙個高效而可靠地協同工作系統,它用在協調在分布式應用上的各種服務。zookeeper主要是用來處理類似下面這樣的場景問題 訊息在網路中的兩個節點間傳輸時,由於網路錯誤或者其他問題導致傳輸過程發生錯誤,則傳送方無法得知接受方是否得到完整的傳輸資訊,為了確保訊息是否以準確到達,...