consul、eureka、nacos对比
配置中心
- eureka 不支持
- consul 支持 但用起来偏麻烦,不太符合springBoot框架的命名风格,支持动态刷新
- nacos 支持 用起来简单,符合springBoot的命名风格,支持动态刷新
注册中心
-
eureka
- 应用内/外:直接集成到应用中,依赖于应用自身完成服务的注册与发现,
- CAP原则:遵循AP(可用性+分离容忍)原则,有较强的可用性,服务注册快,但牺牲了一定的一致性。
- 版本迭代:目前已经不进行升级
- 集成支持:只支持SpringCloud集成
- 访问协议:HTTP
- 雪崩保护:支持雪崩保护
- 界面:英文界面,不符合国人习惯
- 上手:容易
-
consul
- 应用内/外:属于外部应用,侵入性小
- CAP原则:遵循CP原则(一致性+分离容忍) 服务注册稍慢,由于其一致性导致了在Leader挂掉时重新选举期间真个consul不可用。
- 版本迭代:目前仍然进行版本迭代
- 集成支持:支持SpringCloud K8S集成
- 访问协议:HTTP/DNS
- 雪崩保护:不支持雪崩保护
- 界面:英文界面,不符合国人习惯
- 上手:复杂一点
-
nacos
- 应用内/外:属于外部应用,侵入性小
- CAP原则:通知遵循CP原则(一致性+分离容忍) 和AP原则(可用性+分离容忍)
- 版本迭代:目前仍然进行版本迭代
- 集成支持:支持Dubbo 、SpringCloud、K8S集成
- 访问协议:HTTP/动态DNS/UDP
- 雪崩保护:支持雪崩保护
- 界面:中文界面,符合国人习惯
- 上手:极易,中文文档,案例,社区活跃