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

标签: geek | 发表时间:2017-11-15 08:00 | 作者:
出处:http://itindex.net/relian

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

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

图片描述

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

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

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

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

一、社区建设概况

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

已发布的内容

官网发布新版
文档重新整理后发布到 gitbook,对于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修复

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

图片描述

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

通过跟踪PR、issue反馈,修复了一些框架缺陷
新增了 Netty4通信模块线程堆栈dump特性

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

解决注册中心缓存、监控阻塞rpc链路、泛化调用解析等issue
满足社区诉求
开放注册/监听ip、port的配置,以支持docker等隔离网络环境部署, 参见示例
完善注解配置形式,提供spring-boot配置形式支持;

三、近期Roadmap与规划

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

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

图片描述

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

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

想了解当前版本的具体内容规划及开发进度,可关注 github milestone查看详情、反馈建议。

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

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

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

相关 [分布 服务 框架] 推荐:

分布式服务框架:Zookeeper

- - 标点符
Zookeeper是一个高性能,分布式的,开源分布式应用协调服务. 它提供了简单原始的功能,分布式应用可以基于它实现更高级的服务,比如同步,配置管理,集群管理,名空间. 它被设计为易于编程,使用文件系统目录树作为数据模型. 服务端跑在java上,提供java和C的客户端API. Zookeeper是Google的Chubby一个开源的实现,是高有效和可靠的协同工作系统,Zookeeper能够用来leader选举,配置信息维护等,在一个分布式的环境中,需要一个Master实例或存储一些配置信息,确保文件写入的一致性等.

阿里巴巴Dubbo分布式服务框架已开源

- tangfl - ITeye论坛最新精华讨论帖
Serving services with invocations everyday, Dubbo becomes the key part of Alibaba's SOA solution and has been deployed to the whole alibaba.com family:.

分布式服务框架的4项特性

- - Tim[后端技术]
在移动及云时代,尽管大部分可扩展的问题可以通过云平台解决,但是服务本身的扩展性挑战仍然存在. 比如一个新的项目,用PHP或JSP实现了基本功能,部署在Apache或Tomcat等容器上,在业界这种部署在一个容器内的功能模块通常可以称为一个service. 服务容器很容易通过EC2或者docker等方式来扩展部署更多的实例.

Dubbo:来自于阿里巴巴的分布式服务框架

- - 标点符
Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点. Dubbo是一个阿里巴巴开源出来的一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案. 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式.

阿里巴巴分布式服务框架-Dubbo问与答

- - Arccode's blog
Dubbo是阿里巴巴内部的SOA服务化治理方案的核心框架,每天为2000+ 个服务提供3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点. Dubbo自2011年开源后,已被许多非阿里系公司使用. 项目主页: http://dubbo.io/Home-zh.htm.

微软分布式服务框架WCF开源了

- - 博客园_新闻
微软下了开源的决心之后,好消息接踵而来. 之前是 .NET Core( CoreCLR 和 CoreFX,然后是编译器平台 Roslyn 和 Orleans. 刚才,微软又宣布将其 SOA 框架 WCF 开源了,GitHub 地址是 https://github.com/dotnet/wcf.

基于Dubbo框架构建分布式服务

- - 简单之美
有关Dubbo服务框架的简单使用,可以参考我的其他两篇文章(《基于Dubbo的Hessian协议实现远程调用》,《基于Dubbo的Hessian协议实现远程调用》,后面参考链接中已给出链接),这里主要围绕Dubbo分布式服务相关配置的使用来说明与实践. 首先,根据Dubbo文档,我们引用文档提供的一个架构图以及各组件关系说明,如下所示:.

分布式服务框架设计指标

- - 开源软件 - ITeye博客
 支持通过xml配置的方式发布和导入服务.  支持服务实时自动发现,由注册中心推送服务提供者地址,消费者不需要配置服务提供者地址,地址透明化.  默认提供随机路由、轮询、基于权重的策略等.  总是向同一个提供方发起调用.  失败自动切换,当出现失败,重试其他服务器,常用于读操作及幂等性写操作.  失败自动恢复,后台记录失败请求,定时重发,常用于消息通知操作.

微服务框架-基础框架

- - 人月神话的BLOG
上面一篇文章对SpringBoot框架做了一下简单验证,在文中也写到SpringBoot重点还是在单个微服务模块的开发,已经对于微服务接口开放的便捷性上,而对于微服务基础架构和管控治理层面没有太多支持. 对于微服务基础框架可以看作是微服务治理架构的核心内容,包括了对微服务模块的全生命周期管理能力,这个能力包括了微服务网关APP,DevOps,Docker和云集成,安全,负载均衡,服务注册和发现等诸多能力.

谈Dubbo服务框架

- - 人月神话的BLOG
Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成. 它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合). 从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色.