框架 | Dubbo | SpringCloud |
---|---|---|
服务注册中心 | Zookeeper | Spring Cloud Netfix Eureka(nacos) |
服务调用方式 | RPC | REST API |
服务监控 | Dubbo-monitor | Spring Boot Admin |
熔断器 | 不完善 | Spring Cloud Netflix Hystrix |
服务网关 | 无 | Spring Cloud Netflix Zuul |
分布式配置 | 无 | Spring Cloud Config |
服务跟踪 | 无 | Spring Cloud Sleuth |
数据流 | 无 | Spring Cloud Stream |
批量任务 | 无 | Spring Cloud Task |
信息总线 | 无 | Spring Cloud Bus |
Spring Cloud 抛弃了 Dubbo 的 RPC 通讯,采用的是基于 HTTP 的 REST 方式。严格来讲,这两种方式各有优劣。
虽然从必定程度上来讲,后者牺牲了服务调用的性能,但也避免了上面提到的原生 RPC 带来的问题。
并且 REST 相比 RPC 更为灵活,服务提供方和调用方,不存在代码级别的强依赖,这在强调快速演化的微服务环境下显得更加合适。架构
支持多协议调用
);*而Spring Cloud 诞生于微服务架构时代,考虑的是微服务治理的方方面面,另外因为依托Spirng、Spirng Boot 的优点之上,两个框架在开始目标就不一致,Dubbo 定位服务治理、Spirng Cloud 是一个生态。所以能够大胆地判断,Dubbo 将来会在服务治理方面更为出色,而 SpringCloud 在微服务治理上面无人能敌。框架
一、Dubbo主要分为服务注册中心,服务提供者,服务消费者,还有管控中心;分布式
二、相比起Dubbo简单的四个模块,SpringCloud则是一个完整的分布式一站式框架,他有着同样的服务注册中心,服务提供者,服务消费者,管控台,断路器,分布式配置服务,消息总线,以及服务追踪等;微服务