CAP理論之CP模型ZK、AP模型Eureka

CAP:

  C:一致性>Consistency;

      取捨:(強一致性、單調一致性、會話一致性、最終一致性、弱一致性)

  A:可用性>Availability;

  P:分區容錯性>Partition tolerance;

1、ZK(文件系統+監聽機制watcher<觀察者模式>):

  配置JAVA環境:java -version;

  下載解壓zookeeper:tar -zxvf zookeeper-3.4.12.tar.gz; *.sh start;

  重命名配置文件:cp conf/zoo_sample.cfg conf/zoo.cfg;

  啓動zk

創建集羣根節點:/GroupMembers

  

服務提供

  

創建集羣節點n1

  

創建集羣節點n2

   同n1(port:8082)

<其中Consistency:zk保證了最終一致性,Sync到各個節點.>

2、Eureka

  eureka不會有類似於zk選舉leader的過程,若某臺服務器宕機,客戶端請求自動切換到新的eureka節點,當宕機的服務器恢復後,eureka則再次將其納入到服務器集羣管理之中,即同步新的服務註冊信息。

1.CP VS 2.AP

ZK定位於分佈式協調服務,在其管轄下的所有服務之間保持同步、一致(Zab算法,CP),若作Service發現服務,其本身沒有正確處理網絡分割的問題<當多個zk之間網絡出現問題-造成出現多個leader-腦裂>,即在同一個網絡分區的節點數達不到zk選取leader的數目,它們就會從zk中斷開,同時也不能提供Service發現服務l。

Eureka相對於ZK剔除了選取Leader或事務日誌機制,它有獨立的客戶端程序庫,同時提供心跳、服務健康監測、自動發佈等服務與自動刷新緩存的功能,在網絡分割故障發生時,每個節點會持續的對外提供服務,接收新的服務註冊同時將它們提供給下游的服務發現請求(AP)l。

附:

達人learning的zk圖>>>

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