【選型】爲什麼服務發現使用Eureka,而不是Zookeeper

首先介紹下cap原理,可以參考:。

P:Partition tolerance,網絡分區容錯。類似多機房部署,保證服務穩定性。
A: Availability,可用性。
C:Consistency ,一致性。
CAP定理:CAP三個屬性對於分佈式系統不同同時做到。如AP/CP/AC。
再來看 Eureka 和 Zookeepr 區別:

  1. Zookeeper是CP,分佈式協同服務,突出一致性。對ZooKeeper的的每次請求都能得到一致的數據結果,但是無法保證每次訪問服務可用性。如請求到來時,ZooKeeper正在做leader選舉,此時不能提供服務,即不滿足A可用性。

  2. Eureka 是AP,高可用與可伸縮的Service發現服務,突出可用性。相對於Zookeeper而言,可能返回數據沒有一致性,但是保證能夠返回數據,服務是可用的。

參考:
1.cap原理:http://www.ruanyifeng.com/blog/2018/07/cap.html
2. http://www.heartthinkdo.com/?p=1933
3. https://medium.com/knerd/eureka-why-you-shouldnt-use-zookeeper-for-service-discovery-4932c5c7e764
4. http://dockone.io/article/78

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