Zookeeper知識點

ZooKeeper作爲J2EE體系內一款高性能協調器,廣泛用於SOA等場景,需要簡單瞭解ZK的一些關鍵特性

  • 分佈式系統
    • CAP原則,不能同時滿足,如何取捨
    • 一致性(Consistence) (等同於所有節點訪問同一份最新的數據副本)
    • 可用性(Availability)(每次請求都能獲取到非錯的響應——但是不保證獲取的數據爲最新數據)
    • 分區容錯性(Network partitioning)(以實際效果而言,分區相當於對通信的時限要求。系統如果不能在時限內達成數據一致性,就意味着發生了分區的情況,必須就當前操作在C和A之間做出選擇。)
    • 一致性原則,分佈一致性算法
    • 2PC/3PC算法,改進,優缺點
    • Paxos協議
    • Paxos 裏面的四個角色:Proposer,Acceptor,Client,Learner
    • Paxos 如何避免2PC的腦裂問題
    • Paxos 的一次決議過程,兩個階段
    • Paxos 兩個決議階段存在的問題,高併發情況下第一個階段通過的決議會被拒絕
  • ZooKeeper相關

    • 基於Paxos拓展的ZAB(Zookeeper Atomic Broadcast)協議
    • Leader選舉
    • Atomic Broadcast
    • Leader角色爲了解決paxos協議的效率問題
    • ZooKeeper實現的主要功能
    • 順序一致性
    • 原子性
    • 單一視圖
    • 可靠性
    • 實時性
    • ZK寫入過程描述
    • ZK的Watch機制實現原理
    • ZK常見應用
    • 分佈式鎖,驚羣效應,實時數據不一致如何處理
    • ZkNode報文大小管理,1M以下
    • 跨客戶端視圖的併發一致性:ZooKeeper並不保證在某時刻,兩個不同的客戶端具有一致的數據視圖。因爲網絡延遲的原因,一個客戶端可能在另一個客戶端得到修改通知之前進行更新。假定有兩個客戶端A和B。如果客戶端A將一個節點/a的值從0修改爲1,然後通知客戶端B讀取/a,客戶端B讀取到的值可能還是0,這取決於它連接到了哪個服務器。如果客戶端A和B讀取到相同的值很重要,那麼客戶端B應該在執行讀取之前調用sync()方法。
    • 主備切換對於未提交的歷史數據如何處理

    • 常見問題 http://www.importnew.com/24519.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章