Zookeeper與Eureka的區別


Zookeeper與Eureka的區別

想要了解Zkeureka的區別首先要知道CAP定理

 

CAP定理

 

 

Mysql強一致性(數據唯一出處),設計數據庫設計的三范式

(表必須有主鍵;表不能有重復的列;列不能是加工而成)

主流數據庫表的設計方式:反三范式,冗余設計(性能高,缺點:數據多處,同步數據時間差,短暫時間數據不一致。)

 

最終一致性,允許短暫時間內數據可以不一致,但過了這個時間閥值必須數據是一致。

 

可用性,zk主從設計,如果zk節點有一半節點宕機或者有節點正在選舉,此時zk集群不可用!

Eurekap2p點對點設計,每個點的信息都可以用戶接入,每個點如果信息變化,它內部會自動同步所有的數據。Eureka即使所有的節點都宕機,

仍然能提供服務。EurekaClient客戶端,緩存所有的數據信息,也能找到服務提供者。

 

為什么不用zookeeper做注冊中心 在使用dubbo時,一般都結合zk(作為注冊中心)來使用。那為什么SpringCloud中使用Eureka,而不是zk呢?

我們來比較一下,在CAP理論中,zk更看重CP,即一致性和分區容錯性。但Eureka更在意的是APA為高可用。zk中有masterfollower區別,

當進入選舉模式時,就無法正常對外提供服務。但Eureka中,集群是對等的,地位是相同的,雖不能保證一致性,但至少可以提供注冊服務。

根據不同的業務場景,各有取舍吧。ZooKeeper 基於CP設計,側重一致性而Eureka基於AP設計,側重可用性

 

Eureka只有一個8761的注冊中心,那么如何避免單點問題呢?

我們可以采用集群的方式來解決。 比如現在有三台機器:Server1Server2Server3.在高可用方案中,三台機器要兩兩注冊。

比如S1要向S2S3分別進行注冊,目前他無法實現注冊的傳遞性。 這樣一來,如果Server1宕機,我們還可以繼續從Server23中獲取服務。

 


免責聲明!

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



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