[譯]Zookeeper的優勢與侷限性

1.Zookeeper的優勢與侷限性

在學習了Zookeeper(後文都簡稱zk)的介紹和功能後,您已經很好地理解了zk。 如今,在這個zk教程中,咱們將討論zk的優勢和侷限性。 zk有幾個功能對用戶很是有益,但同時也存在一些侷限性,因此在咱們使用zk前,必須先了解一下。讓咱們分別學習一下zk的優勢與侷限性服務器

file

2.zk的優勢

下面列出了使用zk的各類優勢網絡

file

01.分佈式協調過程簡單

zk節點之間的協調過程很是簡單分佈式

02.同步

zk高度同步,這意味着服務器進程之間既存在互斥又存在合做,同步有助於Apache HBase進行配置管理。性能

03.有序消息

zk跟蹤一個數字,表示每一個更新的順序,保證消息有序學習

04.序列化

根據具體規則,zk對數據進行編碼。 另外,它還可確保咱們的應用程序始終如一地運行。 可是,在MapReduce中,咱們使用此方法(序列化)來協調隊列以執行正在運行的線程編碼

05.速度

在讀請求多的狀況下,能以很快的速度運行線程

06.可擴展性

此外,能夠經過部署更多機器來增強zk的性能cdn

07.有序性有何優點?

衆所周知,zk中的消息是有序的。 因此,爲了實現更高級別的抽象,須要有序性。 這就是有序性對咱們有利的方式blog

08.快

在讀多的狀況下,zk會很是快教程

09.可靠性

zk很是可靠,由於一旦zk更新了,更新後的數據會一直保持,直到被覆蓋更新

10.原子性

zk只有兩種狀況,要麼所有成功,要麼所有失敗,沒有中間狀態的狀況

11.實時性

zk保證在必定時間段內,客戶端最終必定能從服務器上讀到最新的數據狀態

3.zk的侷限性

正所謂,"每一個硬幣都有兩面",zk在有這麼多優勢的同時也存在一些缺點,下面就是zk不足的列表

file

01.增長新的zk服務器時可能致使數據丟失

在現有服務器中,當新zk服務器數量超過zk服務中已存在的數量時數據會丟失。 同時,向zk服務發出Start命令,新服務器可能造成仲裁

02.不能遷移

在沒有用戶干預的狀況下,zk服務器沒法從版本3.4遷移到3.3,而後再遷移到3.4。

03.節點數

只容許3或5個這樣奇數個zk節點(要求奇數是爲了保證選舉的正常進行由於leader選舉要求 可用節點數量 > 總節點數/2,防止腦裂形成集羣不可用。同時在容錯能力相同的狀況下,奇數個節點更節省資源)

04.機架感知複製

目前,它不支持機架放置和感知

05.縮容

不支持減小pod的數量,以防止意外數據丟失

06.磁盤變動

不支持在初始部署後更改volume要求,以防止從新分配意外丟失數據

07.虛擬網絡

當服務部署在虛擬網絡上時,若是沒有徹底從新安裝,服務可能沒法切換到主機網絡。 另外,對於嘗試從主機切換到虛擬網絡,它們是相同的狀況

08.Kerberos

在虛擬網絡上,它目前不支持啓用Kerberos

09.支持有限

對跨羣集方案的支持很是有限。 可是,沒有CP系統會一直支持跨集羣。 雖然咱們能夠說consul彷佛在這方面作得更好

10.複雜

它很是重,因此它須要咱們維持一個至關大的堆棧

相關文章
相關標籤/搜索