Spring Cloud和dubbo比较

   Dubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点(阿里巴巴现在使用架构为HSF)。 于2012-10-24最后版本2.5.3成为最后一版本,由当当接手维护,命名为dubbox

   Spring Cloud,从命名我们就可以知道,它是Spring Source的产物,Spring社区的强大背书可以说是Java企业界最有影响力的组织了,除了Spring Source之外,还有Pivotal和Netfix是其强大的后盾与技术输出。其中Netflix开源的整套微服务架构套件是Spring Cloud的核心。

   如果拿Dubbo与Netflix套件做对比,前者在国内影响力较大,后者在国外影响力较大,在背景上可以打个平手;但是若要与Spring Cloud做对比,由于Spring Source的加入,在背书上,Spring Cloud略胜一筹,但是在高并发上dubbo曾经在阿里的运营中实际承载过过亿用户同时在线的,而Netflix 并没有实际的上线应用中体现过

    Spring Cloud下面有19个子项目(可能还会新增)分别覆盖了微服务架构下的方方面面,服务治理只是其中的一个方面,一定程度来说,Dubbo只是Spring Cloud Netflix中的一个子集。但是在选择框架上,方案完整度恰恰是一个需要重点关注的内容,当然从高可用和高并发一起考虑,Spring Cloud 无疑是最佳选择

   Dubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点(阿里巴巴现在使用架构为HSF)。 于2012-10-24最后版本2.5.3成为最后一版本,由当当接手维护,命名为dubbox

   Spring Cloud,从命名我们就可以知道,它是Spring Source的产物,Spring社区的强大背书可以说是Java企业界最有影响力的组织了,除了Spring Source之外,还有Pivotal和Netfix是其强大的后盾与技术输出。其中Netflix开源的整套微服务架构套件是Spring Cloud的核心。

   如果拿Dubbo与Netflix套件做对比,前者在国内影响力较大,后者在国外影响力较大,在背景上可以打个平手;但是若要与Spring Cloud做对比,由于Spring Source的加入,在背书上,Spring Cloud略胜一筹,但是在高并发上dubbo曾经在阿里的运营中实际承载过过亿用户同时在线的,而Netflix 并没有实际的上线应用中体现过

    Spring Cloud下面有19个子项目(可能还会新增)分别覆盖了微服务架构下的方方面面,服务治理只是其中的一个方面,一定程度来说,Dubbo只是Spring Cloud Netflix中的一个子集。但是在选择框架上,方案完整度恰恰是一个需要重点关注的内容,当然从高可用和高并发一起考虑,Spring Cloud 无疑是最佳选择

Spring Clouddubbo比较-对比

Dubbo

Spring Cloud

服务注册中心

Zookeeper

Spring Cloud Netflix Eureka

服务调用方式

RPC

REST API

服务网关

Spring Cloud Netflix Zuul

断路器

不完善

Spring Cloud Netflix Hystrix

分布式配置

Spring Cloud Config

服务跟踪

Spring Cloud Sleuth

消息总线

Spring Cloud Bus

数据流

Spring Cloud Stream

批量任务

Spring Cloud Task

……

……

……

对比

Dubbo

Spring Cloud

负载均衡

消息服务端有(后置服务)

 RESTful web 没有

Spring Cloud Netflix Eureka

Eureka服务器和Eureka客户端均可集群

方向代理

没有(须第三方支持)

Spring Cloud Security

隔离

没有(须第三方支持)

Spring Cloud Sleuth

限流

没有(须第三方支持)

Spring Cloud Stream

降级

没有(须第三方支持)

Spring Cloud Config

超时与重试

消息服务端有(后置服务)

默认重试2

Spring Cloud Netflix

回滚

TCC

可以结合TCC实现

应急预案

Spring Cloud Config

对比

Dubbo

Spring Cloud

应用缓存

没有(须第三方支持)

没有(须第三方支持),spring boot支持集成

HTTP缓存

没有(须第三方支持)

没有(须第三方支持)

多级缓存

没有(须第三方支持)

池化

没有(须第三方支持),阿里有自己的连接池

没有(须第三方支持),spring boot支持集成阿里连接池

异步并发

提供RPC高性能分布式架构

提供 RESTful分布式架构

扩容

1、无所谓是否支持docker

2、借助于数据库扩容技术

1、支持docker

2、借助于数据库扩容技术

队列

无,借助于第三方消息队列

监听消息队列很难

Spring Cloud Stream

Spring Cloud Bus

SAAS高可用高并发技术选型

Dubbo

Spring Cloud

配置管理

没有,携程开源apollo

有  (Spring Cloud Config)

服务发现

Zookeeper

有(Eureka

断路器

没有

有(Hystrix

智能路由

没有

有(Zuul

微代理

没有

控制总线

没有

(Spring Cloud Bus)

一次性令牌

没有

全局锁

没有

领导选举

没有

分布式会话

没有

Spring Cloud Sleuth

群集状态

没有

Docker部署

没有

无缝支持

现有项目改造成本对比

Dubbo

Spring Cloud

现有项目改造(spring boot

需要集成dubbo技术

无需改造,无缝集成

程序员开发成本

需要学习dubbo

需要学习Spring Cloud Netflix

维护与部署成本

配置管理(第三方)

配置管理(Spring Cloud

服务发现(第三方)

服务发现(Spring Cloud

断路器(第三方)

断路器(Spring Cloud

智能路由(第三方)

智能路由(Spring Cloud

微代理(第三方)

微代理(Spring Cloud

控制总线(第三方)

控制总线(Spring Cloud

群集状态(第三方)

群集状态(Spring Cloud

Docker(第三方)

DockerSpring Cloud

分布式会话(第三方)

分布式会话(Spring Cloud

。。。

。。。

 建议:1、Dubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点(阿里巴巴现在使用架构为HSF)。 于2012-10-24最后版本2.5.3成为最后一版本,已经成为过去,也是过去的王者

2、Spring Cloud,从命名我们就可以知道,它是Spring Source的产物,Spring社区的强大背书可以说是Java企业界最有影响力的组织了,除了Spring Source之外,还有Pivotal和Netfix是其强大的后盾与技术输出,是现今微服务的王者

3Saas的部署最好在Docker环境下部署,Spring Cloud无缝衔接

4 Spring Cloud 和 Dubbo技术在服务治理上Spring Cloud 显然优越于Dubbo,配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式会话,群集状态,一直是dubbo架构部署运行后最为头疼的事情, Spring Cloud 一一自带组件解决了这些问题。

5针对当前项目来说,我团队项目采用spring boot, 学习成本成本很少

6 Spring Cloud依托于spring boot,天然可以部署在Docker环境下,维护成本比dubbo低很多

总结:综上所述个人建议使用Spring Cloud,要上遇到相关问题可以技术培训和交流进行解决。

你可能感兴趣的:(web,java)