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

简介: 最近,开源社区发生了一件大事——使用最广的开源服务框架之一Dubbo低调重启维护,并且3个月连续发布了3个维护版本。这3个维护版本不仅解决了社区关心的一系列问题和需求,还让整个社区的活跃度得到了大幅提升。

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

b01781a4de1b74220617b97556a053d4ae70e940

Dubbo是阿里巴巴于2012年开源的分布式服务治理框架,目前已是国内影响力最大、使用最广泛的开源服务框架之一,在Github上的fork、start数均已破万。

在过去几年,Dubbo开源社区虽然一直有陆续维护,但是由于Dubbo用户群体庞大,基础维护根本无法完全满足社区的旺盛需求。随着整个阿里中间件内部技术的迅速发展,如今不仅能够保证集团及客户的系统高效运行,还能抽调更多精力将技术赋能给全社会。开源就是阿里巴巴集团在技术层面赋能的重要领域。

目前,阿里集团正以更高的姿态、更开放的态度拥抱开源。RocketMQ已被Apache社区接纳为顶级项目,OpenMessaging、ApsaraCache等全球化的开源项目也于云栖大会正式公布,Dubbo就是在这样的背景下被列入重点维护开源项目。

我们一起总结下Dubbo项目的进展、维护后整个社区的变化以及包括后续版本的roadmap等,同时也分享一些我们对Dubbo期待和想法。

一、社区建设概况

Dubbo启动维护后我们组建了由专职人员和RPC技术专家组成的虚拟维护团队,首先组织专人对官网和使用文档进行了重新整理,后续又以社区反馈为主线发布了2.5.5等维护版本。

已发布的内容

  • [官网](http://dubbo.io)发布新版
  • 文档重新整理后发布到[gitbook](http://dubbo.gitbooks.io),对于gitbook.io国内不稳定的问题,计划于下个迭代予以解决
  • 09月12日2.5.5版本发布
  • 10月12日2.5.6版本发布
  • 11月02日2.5.7版本发布

关于三个版本包含的具体内容会在下一节详细介绍,发布时间上基本维持了一月一版本的节奏,有灵活加快的趋势,近期我们仍会保持这种节奏;发版内容将以维护升级为主基调,遵循以下思路:

  • 优先解决社区内被反复提及的框架缺陷、吸纳开发者贡献的Pull Request
  • 优先支持社区呼声较高的新需求、新特性
  • 逐步完善测试、OPS、性能指标等周边基础设施,推动项目管理标准化
  • 主动优化或提供一些必要的功能支持

二、已发布版本回顾

本节回顾一下已经发布的3个版本的主要内容,详细版本发布记录可通过Github追踪。发版内容也体现了当前的维护思路:发版内容以维护为主,优先解决社区关注度较高问题

1. 2.5.5版本:维护后的第一个版本,包括依赖升级和issue修复

  • 升级了依赖包版本 
  • 以问题反馈频率和影响面排定优先级,优先解决了几个反馈最多、影响较大的一些缺陷,包括优雅停机、异步调用等
e2c4b268fd479fb5bdf9a47fe0c7c37024216108

2. 2.5.6版本:优先级较高的几个issue修复,吸纳社区的优秀PullRequest

  • 通过跟踪PR、issue反馈,修复了一些框架缺陷
  • 新增了[Netty4通信模块](https://dubbo.gitbooks.io/dubbo-user-book/content/demos/netty4.html)、[线程堆栈dump特性](https://dubbo.gitbooks.io/dubbo-user-book/content/demos/dump.html)

3. 2.5.7版本:阶段性完成了社区累积issue的处理,同时开始满足社区反映的新需求

  • 解决注册中心缓存、监控阻塞rpc链路、泛化调用解析等issue
  • 满足社区诉求
  • 开放注册/监听ip、port的配置,以支持docker等隔离网络环境部署,[参见示例](https://github.com/dubbo/dubbo-docker-sample);
  • 完善注解配置形式,提供spring-boot配置形式支持;  
三、近期 Roadmap 与规划

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

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

21ff5eb585bdba06d23e0f98b465d2bde70f9d20

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

  • 重构动态配置模块,动态配置和注册中心分离,集成流行的开源分布式配置管理框架
  • 服务元数据注册与注册中心分离,丰富元数据内容
  • 适配流行的consul etcd等注册中心方案
  • 考虑提供opentrace, oauth2, metrics, health,gateway等部分服务化基础组建的支持
  • 服务治理平台OPS重做,除代码、UI重构外,期望能提供更强的服务测试、健康检查、服务动态治理等特性
  • Dubbo模块化,各个模块可单独打包、单独依赖
  • 集群熔断和自动故障检测能力

想了解当前版本的具体内容规划及开发进度,可关注[github milestone](https://github.com/alibaba/dubbo/milestones)查看详情、反馈建议。

如果您有兴趣,也可以积极参与到Github issue问题追踪、gitter问题讨论中,帮助社区的使用者。我们正积极吸纳社区活跃的贡献者(代码或问题解答者)加入Dubbo组织,共同推动Dubbo的进步。作为一个项目而言,Dubbo在项目管理及开源社区运营上还有很多不足,我们也会努力向一些更优秀的开源项目靠拢,方便大家能更好的参与到项目建设中。

Dubbo 是阿里巴巴公司开源的一个高性能服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案,使得应用可通过高性能RPC实现服务的输出和输入功能,和 Spring框架无缝集成。

Dubbo包含远程通讯、集群容错和自动发现三个核心部分。提供透明化的远程方法调用,实现像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。同时具备软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点。可以实现服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。


原文发布时间为:2017-11-15

本文作者:拥抱开源

本文来自云栖社区合作伙伴“阿里技术”,了解相关信息可以关注“阿里技术”微信公众号

相关文章
|
数据采集 存储 数据可视化
分布式爬虫框架Scrapy-Redis实战指南
本文介绍如何使用Scrapy-Redis构建分布式爬虫系统,采集携程平台上热门城市的酒店价格与评价信息。通过代理IP、Cookie和User-Agent设置规避反爬策略,实现高效数据抓取。结合价格动态趋势分析,助力酒店业优化市场策略、提升服务质量。技术架构涵盖Scrapy-Redis核心调度、代理中间件及数据解析存储,提供完整的技术路线图与代码示例。
2182 0
分布式爬虫框架Scrapy-Redis实战指南
|
消息中间件 人工智能 监控
文生图架构设计原来如此简单之分布式服务
想象一下,当成千上万的用户同时要求AI画图,如何公平高效地处理这些请求?文生图/图生图大模型的架构设计看似复杂,实则遵循简单而有效的原则:合理排队、分工明确、防患未然。
750 14
文生图架构设计原来如此简单之分布式服务
|
监控 Java 调度
SpringBoot中@Scheduled和Quartz的区别是什么?分布式定时任务框架选型实战
本文对比分析了SpringBoot中的`@Scheduled`与Quartz定时任务框架。`@Scheduled`轻量易用,适合单机简单场景,但存在多实例重复执行、无持久化等缺陷;Quartz功能强大,支持分布式调度、任务持久化、动态调整和失败重试,适用于复杂企业级需求。文章通过特性对比、代码示例及常见问题解答,帮助开发者理解两者差异,合理选择方案。记住口诀:单机简单用注解,多节点上Quartz;若是任务要可靠,持久化配置不能少。
1335 4
|
人工智能 分布式计算 大数据
MaxFrame 产品评测:大数据与AI融合的Python分布式计算框架
MaxFrame是阿里云MaxCompute推出的自研Python分布式计算框架,支持大规模数据处理与AI应用。它提供类似Pandas的API,简化开发流程,并兼容多种机器学习库,加速模型训练前的数据准备。MaxFrame融合大数据和AI,提升效率、促进协作、增强创新能力。尽管初次配置稍显复杂,但其强大的功能集、性能优化及开放性使其成为现代企业与研究机构的理想选择。未来有望进一步简化使用门槛并加强社区建设。
846 8
|
SQL 分布式计算 DataWorks
MaxCompute MaxFrame评测 | 分布式Python计算服务MaxFrame(完整操作版)
在当今数字化迅猛发展的时代,数据信息的保存与分析对企业决策至关重要。MaxCompute MaxFrame是阿里云自研的分布式计算框架,支持Python编程接口、兼容Pandas接口并自动进行分布式计算。通过MaxCompute的海量计算资源,企业可以进行大规模数据处理、可视化数据分析及科学计算等任务。本文将详细介绍如何开通MaxCompute和DataWorks服务,并使用MaxFrame进行数据操作。包括创建项目、绑定数据源、编写PyODPS 3节点代码以及执行SQL查询等内容。最后,针对使用过程中遇到的问题提出反馈建议,帮助用户更好地理解和使用MaxFrame。
|
SQL 分布式计算 数据处理
云产品评测|分布式Python计算服务MaxFrame | 在本地环境中使用MaxFrame + 基于MaxFrame实现大语言模型数据处理
本文基于官方文档,介绍了由浅入深的两个部分实操测试,包括在本地环境中使用MaxFrame & 基于MaxFrame实现大语言模型数据处理,对步骤有详细说明。体验下来对MaxCompute的感受是很不错的,值得尝试并使用!
509 1
|
分布式计算 数据处理 MaxCompute
云产品评测|分布式Python计算服务MaxFrame
云产品评测|分布式Python计算服务MaxFrame
488 2
|
存储 缓存 NoSQL
【📕分布式锁通关指南 12】源码剖析redisson如何利用Redis数据结构实现Semaphore和CountDownLatch
本文解析 Redisson 如何通过 Redis 实现分布式信号量(RSemaphore)与倒数闩(RCountDownLatch),利用 Lua 脚本与原子操作保障分布式环境下的同步控制,帮助开发者更好地理解其原理与应用。
987 6
|
存储 负载均衡 NoSQL
【赵渝强老师】Redis Cluster分布式集群
Redis Cluster是Redis的分布式存储解决方案,通过哈希槽(slot)实现数据分片,支持水平扩展,具备高可用性和负载均衡能力,适用于大规模数据场景。
926 2
|
存储 缓存 NoSQL
Redis核心数据结构与分布式锁实现详解
Redis 是高性能键值数据库,支持多种数据结构,如字符串、列表、集合、哈希、有序集合等,广泛用于缓存、消息队列和实时数据处理。本文详解其核心数据结构及分布式锁实现,帮助开发者提升系统性能与并发控制能力。

热门文章

最新文章