29

Dubbo成为Apache顶级项目,选Dubbo还是Springcloud ?

 4 years ago
source link: https://www.tuicool.com/articles/imeuEjv
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Dubbo成为Apache顶级项目新闻

VJJzm2M.jpg!web

Apache首页软件列表中的Dubbo

eQVJZbj.jpg!web

Dubbo 发展史一览

2011 年 10 月 27 日,阿里巴巴开源了自己服务化治理方案的核心框架 Dubbo,服务治理的设计理念开始逐渐在国内软件行业中落地,并被广泛应用。自开源后,许多非阿里系公司选择使用 Dubbo,其中既有当当网、网易考拉等互联网公司,也有中国人寿、青岛海尔等传统企业。

2012 年 10 月 23 日 Dubbo 2.5.3 发布后,在 Dubbo 开源将满一周年之际,阿里基本停止了对 Dubbo 的主要升级。

2013 年,2014 年,更新了 2 次 Dubbo 2.4 的维护版本,然后停止了所有维护工作。至此,Dubbo 对 Spring 的支持也停留在了 Spring 2.5.6 版本上。

阿里停止维护和升级 Dubbo 期间,当当网开始维护自己的 Dubbo 分支版本 Dubbox,新特性主要包括:支持新版本的 Spring,支持 Rest 协议等,并对外开源了 Dubbox。同时,网易考拉也维护了自己的独立分支 Dubbok,可惜并未对外开源。

2017 年 9 月 7 日,Dubbo 悄悄在 GitHub 发布了 2.5.4 版本。随后,又迅速发布了 2.5.5、2.5.6、2.5.7 等版本。在 10 月举行的云栖大会上,阿里宣布 Dubbo 被列入集团重点维护开源项目,这也就意味着 Dubbo 起死回生,开始重新进入快车道。

2018 年 1 月 8 日,Dubbo 2.6.0 版本发布,新版本将之前当当网开源的 Dubbox 进行了合并,实现了 Dubbo 版本的统一整合。

2018 年 2 月 9 日,Apache 基金会的邮件列表上发起了讨论是否接纳阿里的 Dubbo 项目进入 Apache 孵化器的投票。经过一周的投票,邮件列表显示,Dubbo 获得了 14 张赞成票,在无弃权和反对票的情况下,正式通过投票,顺利成为 Apache 基金会孵化项目。

自此,Dubbo 开始了两个长期维护的版本,Dubbo 2.6.x (包名:com.alibaba)稳定维护版本和 Dubbo 2.7.x (包名:org.apache)apache 孵化版本。

2018 ~ 2019 年,在此期间,Dubbo 发布了 4、5 个版本,并发布了 nodejs,python,go 等多语言的客户端。在此期间,Dubbo 社区相继在北京、上海、深圳、成都、杭州、南京等地举办了开发者沙龙。

2019 年 1 月,2.7.0 release 版本发布,这个即将毕业的 apache 版本支持了丰富的新特性,全新的 Dubbo Ops 控制台。时至 5 月,Dubbo 来到了 2.7.2 版本,期间积极引入了新的特性,支持 consul,nacos,etcd 等注册中心。

2019 年 5 月 21 号,经过了漫长的孵化期,Dubbo 终于毕业,阿里巴巴又一开源力作成为Apache顶级项目。

dubbo or springcloud

springcloud出来之前,dubbo几乎是国内SOA的标准,笔者印象中,从来没有一个国产开源软件得到这么多公司的青睐和选择。使用dubbo的公司包括但不限于:当当、网易考拉、VIVO、滴滴、去哪儿、美味不用等、TCL等(参考:https://github.com/apache/incubator-dubbo/issues/1012)。

dubbo和springcloud,事实上,两者没有可比性。dubbo是RPC框架 (虽然dubbo也在往生态方向走,但几乎还没有雏形) ,springcloud是微服务解决方案。笔者认为,dubbo只能类比springcloud中非常著名的解决方案 Spring Cloud Netflix  的部分功能特性

dubbo or springcloud?dubbo完全可以和springcloud共存,架构图如下所示(图片来源自技术交流群)。所以说用springcloud并不代表项目多么先进,用dubbo也并不就表示项目是落后的。微服务是如此庞大且复杂的工程,复杂到即使springcloud也不能cover住每一个环节,而且,springcloud已有的一些方案做的并不理想,甚至都达不到生产标准。我们要做的就是针对每一个技术环节,结合自己的业务特点,千万不要仅局限在springcloud体系,从而选择出最有利于自己项目的开源产品:

uyeieqY.jpg!web

说明:本文引用了老徐的原创( Dubbo 毕业,成为 Apache 基金会顶级项目 )中“dubbo发展史一览“这一章节


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK