欢迎大家关注我的公众号【老周聊架构】,Java后端主流技术栈的原理、源码分析、架构以及各种互联网高并发、高性能、高可用的解决方案。
1、配置中心
| 配置中心 |
---|
eureka | 不支持 |
nacos | 支持 用起来简单,符合springBoot的命名风格,支持动态刷新 |
consul | 支持 但用起来偏麻烦,不太符合springBoot框架的命名风格,支持动态刷新 |
2、注册中心
| eureka | nacos | consul |
---|
应用内/外 | 直接集成到应用中,依赖于应用自身完成服务的注册与发现 | 属于外部应用,侵入性小 | 属于外部应用,侵入性小 |
ACP原则 | 遵循AP(可用性+分离容忍)原则,有较强的可用性,服务注册快,但牺牲了一定的一致性 | 通知遵循CP原则(一致性+分离容忍) 和AP原则(可用性+分离容忍) | 遵循CP原则(一致性+分离容忍) 服务注册稍慢,由于其一致性导致了在Leader挂掉时重新选举期间真个consul不可用 |
版本迭代 | 目前已经不进行升级 | 目前仍然进行版本迭代 | 目前仍然进行版本迭代 |
访问协议 | HTTP | HTTP/动态DNS/UDP | HTTP/DNS |
集成支持 | 只支持SpringCloud集成 | 支持Dubbo 、SpringCloud、K8S集成 | 支持SpringCloud K8S集成 |
雪崩保护 | 支持雪崩保护 | 支持雪崩保护 | 不支持雪崩保护 |
界面 | 英文界面,不符合国人习惯 | 中文界面,符合国人习惯 | 英文界面,不符合国人习惯 |
上手 | 容易 | 极易,中文文档,案例,社区活跃 | 复杂一点 |