consul eureka區別(來自Consul官網)

 

consul 與 eureka

Eureka是一個服務發現工具。該體系結構主要是客戶端/服務器,每一個數據中心有一組Eureka服務器,一般每一個可用區域一個。一般Eureka的客戶使用嵌入式SDK來註冊和發現服務。對於非本地集成的客戶,使用功能區邊框等透過Eureka透明地發現服務。html

Eureka提供了一個弱一致的服務視圖,使用盡力而爲複製。當客戶端向服務器註冊時,該服務器將嘗試複製到其餘服務器,但不提供保證。服務註冊的生存時間(TTL)較短,要求客戶端對服務器心存感激。不健康的服務或節點將中止心跳,致使它們超時並從註冊表中刪除。發現請求能夠路由到任何服務,因爲盡力而爲的複製,這些服務可能會致使陳舊或丟失數據。這個簡化的模型容許簡單的羣集管理和高可擴展性。ios

領事提供了一套超級功能,包括更豐富的健康檢查,關鍵/價值存儲以及多數據中心意識。Consul須要每一個數據中心都有一套服務器,以及每一個客戶端的代理,相似於使用像Ribbon這樣的邊車。Consul代理容許大多數應用程序成爲Consul不知情者,經過配置文件執行服務註冊並經過DNS或負載平衡器sidecars發現。服務器

Consul提供強大的一致性保證,由於服務器使用Raft協議複製狀態 。Consul支持豐富的健康檢查,包括TCP,HTTP,Nagios / Sensu兼容腳本或基於Eureka的TTL。客戶端節點參與基於八卦的健康檢查,該檢查分發健康檢查工做,而不像集中式心跳檢測那樣成爲可擴展性挑戰。發現請求被路由到選舉出來的領事領導,這使他們默認狀況下強烈一致。容許陳舊讀取的客戶端使任何服務器均可以處理他們的請求,從而實現像Eureka這樣的線性可伸縮性。ide

Consul強烈的一致性意味着它能夠做爲領導選舉和集羣協調的鎖定服務。Eureka不提供相似的保證,而且一般須要爲須要執行協調或具備更強一致性需求的服務運行ZooKeeper。工具

Consul提供了支持面向服務的體系結構所需的一系列功能。這包括服務發現,還包括豐富的運行情況檢查,鎖定,密鑰/值,多數據中心聯合,事件系統和ACL。Consul和consul-template和envconsul等工具生態系統都試圖儘可能減小集成所需的應用程序更改,以免須要經過SDK進行本地集成。Eureka是一個更大的Netflix OSS套件的一部分,該套件預計應用程序相對均勻且緊密集成。所以,Eureka只解決了一小部分問題,但願ZooKeeper等其餘工具能夠一塊兒使用。spa

 

CAP中,Consul使用CP體系結構,有利於實現可用性的一致性。代理

相關文章
相關標籤/搜索