consul、eureka、nacos對比
配置中心
- eureka 不支持
- consul 支持 但用起來偏麻煩,不太符合springBoot框架的命名風格,支持動態刷新
- nacos 支持 用起來簡單,符合springBoot的命名風格,支持動態刷新
注冊中心
-
eureka
- 應用內/外:直接集成到應用中,依賴於應用自身完成服務的注冊與發現,
- ACP原則:遵循AP(可用性+分離容忍)原則,有較強的可用性,服務注冊快,但犧牲了一定的一致性。
- 版本迭代:目前已經不進行升級
- 集成支持:只支持SpringCloud集成
- 訪問協議:HTTP
- 雪崩保護:支持雪崩保護
- 界面:英文界面,不符合國人習慣
- 上手:容易
-
consul
- 應用內/外:屬於外部應用,侵入性小
- ACP原則:遵循CP原則(一致性+分離容忍) 服務注冊稍慢,由於其一致性導致了在Leader掛掉時重新選舉期間真個consul不可用。
- 版本迭代:目前仍然進行版本迭代
- 集成支持:支持SpringCloud K8S集成
- 訪問協議:HTTP/DNS
- 雪崩保護:不支持雪崩保護
- 界面:英文界面,不符合國人習慣
- 上手:復雜一點
-
nacos
- 應用內/外:屬於外部應用,侵入性小
- ACP原則:通知遵循CP原則(一致性+分離容忍) 和AP原則(可用性+分離容忍)
- 版本迭代:目前仍然進行版本迭代
- 集成支持:支持Dubbo 、SpringCloud、K8S集成
- 訪問協議:HTTP/動態DNS/UDP
- 雪崩保護:支持雪崩保護
- 界面:中文界面,符合國人習慣
- 上手:極易,中文文檔,案例,社區活躍