[譯]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的性能

07.有序性有何優勢?

眾所周知,zk中的消息是有序的。 所以,為了實現更高級別的抽象,需要有序性。 這就是有序性對我們有利的方式

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.復雜

它非常重,所以它需要我們維持一個相當大的堆棧


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM