对比

微服务相比分布式服务来说,它的粒度更小,服务之间耦合度更低,由于每个微服务都由独立的小团队负责,因此它敏捷性更高,分布式服务最后都会向微服务架构演化,这是一种趋势, 不过服务微服务化后带来的挑战也是显而易见的,例如服务粒度小,数量大,后期运维将会很难。

一、Dubbo与SpringCloud优缺点

相同点:SpringCloud 和Dubbo可以实现RPC远程调用框架,可以实现服务治理。

不同点:

SpringCloud是一套目前生态圈比较完善的微服务框架,其整合了分布式架构中常遇到的服务治理一大难题,SpringCloud生态圈内涵盖各种组件,他们各司其职,其中有注册中心Eureka、负载均衡器Ribbon ,客户端调用工具Rest和Feign,分布式配置中心Config,服务保护Hystrix,网关Zuul Gateway ,服务链路Zipkin,消息总线Bus等,包括后续由国内知名bat公司Alibaba开源的第二代微服务框架Spring Cloud Alibaba,也提供了一套完整的微服务组件,甚至其中有些组件效率比Spring Cloud中NetFlix公司提供的组件效率还要高,在项目开发中,大多数将Spring Cloud与Spring Cloud Alibaba中组件结合起来使用,达到取优补短的效果。

1. 从架构角度上

Dubbo内部实现功能没有SpringCloud强大(全家桶),只是实现服务治理,还缺少分布式配置中心、服务网关、服务链路追踪、消息总线、服务注册与发现、断路器等,如果需要用到这些组件,Dubbo需要另外去整合其他框架,它们有一个比较完善的生态圈。

2. 从更新迭代速度

Dubbo为阿里巴巴开源的分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是SOA服务化治理方案的核心框架,后期由于其他原因停止更新维护,由当当网更新升级为Dubbox,在由以Spring Cloud为首兴起的一代微服务架构之后,阿里巴巴又重新开始维护更新Dubbol , 就更新迭代速度而言,Dubbo目前更新速度没有SpringCloud快,而且SpringCloud更新升级到SpringCloud2.0之后,SpringCloud生态圈会越来完善和稳定。

3. 从开发背景角度

Dubbo的开发背景是阿里巴巴, 在中国也推出了非常多的优秀的开源框架

但是在SpringCloud的背景是Spring家族以及Netflix公司,Spring是专注于企业级开源框架开发,在中国,或者在整个世界上Spring框架都应用的非常广泛。所以相对来说SpringCloud的背景比Dubbo更加强大,有更多的人愿意去使用他。

最后总结下:如果学习Dubbo的话,常见的分布式解决方案需要自己额外去学习和整合其他框架,反而如果学习SpringCloud,它已经把整个常用分布式解决都整合好了,在其发达的生态圈内将某些组件以Starter形式开箱即用即可。