Dubbo与SpringCloud
在之前的微服务架构中,SpringCloud和Dubbo可以说是微服务架构中两种最具代表性的框架(严格意义上来说SpringCloud不是一个框架)。
Dubbo
Dubbo是一个阿里巴巴开源的分布式服务治理框架,以RPC方式调用远程服务。提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
Dubbo架构图如下所示。
SpringCloud
SpringCloud则是一套微服务架构体系,服务注册与发现组件、网关组件、消息总线、配置、负载均衡、熔断器等等一系列的组件。
包含的组件如下图所示。
注:图片来自互联网
那为何SpringCloud这么火,阿里巴巴又要推出SpringCloud Alibaba呢?我们为何又要学习SpringCloud Alibaba?
为何学习SpringCloud Alibaba?
SpringCloud闭源
一个很重要的原因就是SpringCloud中一些组件闭源了,不再维护,如果在生产环境出现了问题,官方不再免费维护了。比如:注册中心Eureka在2.0版本之后宣布闭源了,容错组件Hystrix、网关组件Zuul也已经宣布停止维护了。
虽然说SpringCloud在官方给出了最优的替换方案,但是那些替换方案不再属于SpringCloud技术栈。换句话说:就是SpringCloud的技术栈不再完整了!此时,我们就有必要寻找一个新的完整的技术栈。
SpringCloud Alibaba
学习SpringCloud Alibaba的另一个原因就是:SpringCloud Alibaba技术栈中的各个组件对比SpringCloud来讲,在性能上要更好一些。很多技术是阿里巴巴内部经过多年双11、双12大促的考验,经过不断总结和优化开源出来的产品。
正是基于上述两个非常重要的原因,我们有必要来学习SpringCloud Alibaba技术。