分布式服务框架Dubbo疯狂更新!阿里开源要搞大事情?

来源:互联网 发布:多功能助手软件 编辑:程序博客网 时间:2024/05/23 00:10

         2012 年,阿里巴巴在 GitHub 上开源了基于 Java 的分布式服务治理框架 Dubbo,之后它成为了国内该类开源项目的佼佼者,许多开发者对其表示青睐,同时,先后有不少公司在实践中基于 Dubbo 进行分布式系统架构。目前在 GitHub 上,它的 fork、star 数均已破万。

        Dubbo启动维护后,阿里中间件(Aliware)组建了由专职人员和RPC技术专家组成的虚拟维护团队。通过这篇文章,Dubbo的虚拟维护团队将和大家分享一些Dubbo启动维护的历程、取得的成绩以及后续的规划,具体包括Dubbo社区的建设情况、当前的版本维护主线、近期roadmap及后续计划等。


今年 9 月底,同为阿里开源的项目 RocketMQ 被 Apache 社区接纳为顶级项目;10 月中旬,OpenMessaging、ApsaraCache 等全球化开源项目在阿里云栖大会正式公布;同时,Dubbo 也被列入重点维护开源项目,期望继续保持快速发展的态势。

阿里这一系列开源项目的成绩,让人们看到了它对于开源这件事的重视,重启维护 Dubbo的背后,有什么样的思考呢?

为什么要重启 Dubbo 的维护呢?

道理和 Google 开源 gRPC 是一样的。开源不仅仅是赋能社会的方式,我们也可以通过社区反馈提升产品和技术能力。

Dubbo2 作为一款优秀的开源产品,由于面向的用户群体非常广泛,这就决定了它的设计原则强调扩展性、使用轻量、以及对开源外围系统和协议的适配。通过开源社区的建议,目前 Dubbo 已经具备了一些特有功能,例如对 REST 的支持和对 Spring Boot 的集成。

值得注意的是,目前负责 Dubbo 的团队和内部负责 HSF 的是同一个团队,在聆听外部用户反馈之余,我们也会把大规模领域里的服务运维经验反哺回 Dubbo 社区,形成良性循环,做到真正意义上的内外统一。


为什么重启维护?有哪些因素在驱动着?


Dubbo 自开源以來,深受国内友商和开源爱好者的青睐,虽然一直陆续在维护,但是由于 Dubbo 用户群体庞大,日常维护根本无法完全满足社区的旺盛需求。随着集团内部技术水平的迅速发展,如今不仅能够保证集团及客户的系统高效运行,还能抽调更多精力将技术赋能给全社会。

开源就是阿里巴巴集团在技术层面赋能的重要领域。阿里巴巴中间件团队今后不仅要聆听社区的声音,及时修复问题,及时合并优秀的 pull request,还会力争将 Dubbo 打造成有国际影响力的 RPC 框架。

从集团层面看,阿里为国内甚至国际开源社区贡献了大量优秀开源项目,如大家熟知的 RocketMQ、JStorm、Fastjson、Dubbo、Weex 等。在今年的云栖大会上,阿里集团公开宣布了将加大技术投入、拥抱开源的发展策略。正是由于以上几个原因,阿里巴巴中间件团队决定 Dubbo 的下一步计划是持续发展,并走向国际化。


那这么多年过去了,现在 Dubbo 在同类型项目中还存在优势吗?

 Dubbo 目前在 GitHub 上有超过 12000 个 star 和超过 10000 的 fork 数,仍然是国内影响力最大的开源项目之一。这其中有两个重要因素,一个是 RPC 领域相对成熟,自 Dubbo 开源的第一天起,框架里已经融合了阿里巴巴服务化改造进程中沉淀下来的诸多宝贵经验

其二是 Dubbo 设计上十分提倡可扩展性,在框架内置功能不能满足业务诉求甚至过时的情况下,用户可以选择自行扩展。这一点,从友商给我们提交来的 pull request 中可以明显感受到,优秀的框架设计本身就可以很好的支持用户千变万化的需求

Dubbo 维护重启后,3 个月内连续发布 3 个维护版本,不仅修复了优雅停机、注解配置等一些框架缺陷,还新增了 Netty4 通信模块和线程堆栈 dump 特性等。在框架稳定性上已经有了大幅提升,今后 Dubbo 将持续保持快速迭代更新,以满足用户的各种需求。



近期规划

 

2.5.7版本后,关注度高的一些issue基本都已得到解决,其他一些疑似问题或优先级相对较低的issue我们也会开始着手处理,另外我们会投入一定的精力开发新功能及优化代码结构。


2~3个版本,我们计划提供以下内容的支持:



这些内容也在我们近期的候选需求列表中:


  • 重构动态配置模块,动态配置和注册中心分离,集成流行的开源分布式配置管理框架

  • 服务元数据注册与注册中心分离,丰富元数据内容

  • 适配流行的consul etcd等注册中心方案

  • 考虑提供opentrace, oauth2, metrics, health,gateway等部分服务化基础组建的支持

  • 服务治理平台OPS重做,除代码、UI重构外,期望能提供更强的服务测试、健康检查、服务动态治理等特性

  • Dubbo模块化,各个模块可单独打包、单独依赖

  • 集群熔断和自动故障检测能力

 

阿里对 Dubbo 接下来的发展有怎样的计划?能否给大家一个清晰的视图?

     主力开发以阿里巴巴中间件团队为主,优先吸纳集团内部对 Dubbo 开源有热情的开发同学,同时积极与国内大量使用 Dubbo 框架的友商联系。一方面是合并大家的建议,对呼声最高的建议进行性能提升,另一方面是寻求共建开源项目的资源。总的来说,项目方面会以阿里内部专门的团队为主,并积极发展社区中的 committer。

在活跃社区的前提下,我们会继续在 Dubbo 框架现代化、国际化这两个大的方向上进行探索。现代化方面主要是考虑到目前微服务架构以及容器化日渐流行的大趋势,Dubbo 作为 RPC 框架如何很好地融入其中,成为其生态体系中不可或缺的一个组件。

这里就不得不提到目前的一些文章在谈到微服务的时候总是拿 Spring Cloud 和 Dubbo 来对比,需要强调的是 Dubbo 未来的定位并不是要成为一个微服务的全面解决方案,而是专注在 RPC 领域,成为微服务生态体系中的一个重要组件。至于大家关注的微服务化衍生出的服务治理需求,我们会在 Dubbo 积极适配开源解决方案,甚至启动独立的开源项目予以支持。

       对于国际化方面的思考是虽然 Dubbo 在 GitHub 上非常受欢迎,但是受众主要来自国内各友商以及个人开发者,希望将来能够将用户拓展到全球,代表国人在 RPC 领域与 gRPC、Finagle 等竞争。

大型网站架构技术

程序员修炼之道

大型web系统数据缓存设计

基于 Redis 实现分布式应用限流

Cache缓存技术全面解析

京东到家库存系统分析

Nginx 缓存引发的跨域惨案

浅谈Dubbo服务框架

数据库中间件架构 | 架构师之路

MySQL优化精髓



看完本文有收获?请转发分享给更多人


欢迎关注“畅聊架构”,我们分享最有价值的互联网技术干货文章,助力您成为有思想的全栈架构师,我们只聊互联网、只聊架构!打造最有价值的架构师圈子和社区。


长按下方的二维码可以快速关注我们


阅读全文
0 0
原创粉丝点击