阿里巴巴微服务开源生态报告 No.1

来自:阿里巴巴中间件(微信号:Aliware_2018),作者:微服务开源小组


从关注开源,到使用开源,再到参与开源贡献,越来越多的国内开发者通过开源技术来构建业务。


截止目前,Arthas Dubbo / ChaosBalde / Nacos / RocketMQ / Seata / Sentinel / Spring Cloud Alibaba / Tengine 等微服务领域的开源项目在 GitHub 上已获得近 8w 的 star,contributor 数量达738位,以一种社区协作的方式,来提升项目的生产效率和分发效率。


这里面,大家既是项目的开发者,也是项目的使用者,作为项目的需求方一同参与到项目的迭代过程中,使得项目能以更快的响应速度来满足实际需求,快速迭代出「好」的产品,这似乎是其他协作方式难以达到的。


通常,我们都会通过在 GitHub 上订阅邮件列表,来了解社区动态。这一次,我们联合以上各开源项目的负责人,发布「微服务开源生态报告」,汇集各个开源项目近期的社区动态,帮助开发者们更高效的了解到各开源项目的最新进展。


社区动态包括,但不限于:


  • 版本发布

  • 人员动态

  • 项目动态和规划

  • 培训和活动


 非常欢迎国内其他微服务领域的开源项目将近期的社区动态,投递给我们,我们将一同发布。


以下是第一期「微服务开源生态报告」的内容。


 01   Apache Dubbo 


1. 人员动态:

社区新增三位 committer,他们分别是:

  • dubbo-erlang维护者,来自平安壹钱包的谢生校,Erlang 也是 Dubbo 支持的第6种语言,GitHub ID @Dlive;

  • 来自阿里巴巴谢育能,在 Dubbo 3.0上作出大量贡献,提供了 RSocket 的支持 ,GitHub ID @uglycow;

  • 来自大搜车的雷舜宇,在 Dubbo 核心包括官网等做出了大量的改进和优化,同时 review了很多的 pull request,GitHub ID @leishunyu;


2. 项目动态和规划

  • 今年的 Google Summer of Code,课题是基于服务端响应的智能负载均衡,来自巴西的程序媛小姐姐 Daniela Morais 提交的代码,已进入开发阶段,大家一起讨论了实现的方案,初步计划采用服务端回调的方式,来完成服务端数据的传递;

  • dubbo-website支持了自动化构建,只需要提交markdown格式,系统会自动构建静态代码并且上传;

  • 2.7.2 发布的时候发现了一个性能问题,Java 8下的CompletableFuture.get()方法使用自旋的方式等待,会带来一定的 CPU 开销,社区正在讨论修复方案:

    https://github.com/apache/dubbo/issues/4279 

  • 社区正在讨论基于目前的文档,出一本 Dubbo 权威指南,目前有很多同学愿意参与进来共建

  • alibaba/metrics 组件正在提供对 Prometheus 的支持

     https://github.com/alibaba/metrics/pull/43


 02   Apache RocketMQ 


1. 项目动态和规划

RocketMQ 完成和 CNCF CloudEvents 标准的绑定,这是国内开源软件第一个私有协议桥接设计,未来将在 Serverless 领域持续完成 events 支撑能力。


2. 培训和活动:

RocketMQ Meetup 城市站是社区自发组织,类似Google GDG的开发者沙龙。目前,已完成苏州、北京、上海与成都站的筹备工作,暨已经建立城市站联盟工作组。


  • 6月29日13:00 - 17:00,北京城市社区开发者沙龙:

https://www.huodongxing.com/event/9497509471700(或点击阅读原文)


  • 6月29日18:00,将举办北京城市社区开发者训练营:

https://www.huodongxing.com/event/1497572456700


  • 7月6日13:00 - 18:00Apache RocketMQ × Apache Flink Meetup 上海站:

https://www.huodongxing.com/event/7496766547500




 03   Arthas 


项目动态和规划

社区发起了 Arthas 在线教程的调研,希望大家提出改进建议。在线教程分为基础和进阶两部分,旨在帮助开发者更快速的上手 Arthas,诊断疑难杂症。

调研地址:

https://github.com/alibaba/arthas/issues/742


 04   ChaosBlade 


1. 版本发布

ChaosBlade 0.1.0 版本正式发布。主要功能点:

  • 可编写动态脚本实现复杂的 Java 实验场景,脚本支持 Java 和 Groovy 语言,可实现例如复杂的方法参数修改、复杂的方法返回值对象修改,抛复杂异常等;

  • Java 实验场景新增实验影响条数和百分比配置,可控制受实验影响的请求条数或请求百分比;新增 JVM 内 CPU 满载;

  • 新增 HttpClient 演练插件;

  • 其他的 bug 修复和功能改进。

Release notes: 

https://github.com/chaosblade-io/chaosblade/releases/tag/0.1.0

编写脚本实现 Java 复杂的演练场景帮助文档,可通过此功能扩展出更多的演练场景,欢迎使用。

https://github.com/chaosblade-io/chaosblade/wiki


2. 项目动态和规划

  • ChaosBlade 下一个版本预计在7 月 11 日发布,将支持  C++  应用的混沌实验场景;

  • ChaosBlade 被列入 CNCF Landscape,详情:

https://landscape.cncf.io/category=chaos-engineering&format=card-mode&grouping=category


 05   Nacos 


1. 版本发布

Nacos 1.0.1发布,支持健康检查插件等功能,这个版本中除了原有的贡献者外,新增了 13 名社区的贡献者,总计合入了 43 个PR。

Release notes: 

https://github.com/alibaba/nacos/releases/tag/1.0.1


2. 项目动态和规划

  • Nacos Go SDK 即将于6月底发布,由阿里巴巴和虎牙的开发者共同完成,将会是后续支持云原生的重要SDK;

  • Nacos 1.1.0 预计于7月5号发布,将支持灰度配置、地址服务器模式、配置导入导出、订阅者列表展示等重要功能;


 06   Seata 


1. 版本发布

Seata 0.6.1 发布,支持集群、motan和多环境配置隔离等功能。

Release notes: 

https://github.com/seata/seata/releases/tag/v0.6.1


2. 项目动态和规划

  • 由社区捐赠的 seata-go-server 即将完成内部孵化;

  • Seata 下一个里程碑版本 0.7.0 将引入对 Mertric 和 Protobuf 的支持;


 07   Sentinel 


1. 人员动态:

社区新增两位 committer,感谢两位对社区的贡献,他们分别是:

  • 来自友乐活(北京) 的 Jason Joo,GitHub ID @jasonjoo2010

  • 来自 tap4fun 的谢佶含GitHub ID @cdfive

2. 版本发布

Sentinel 1.6.2 正式发布,主要的功能点:支持网关流控请求参数值匹配,以及其他的 bug 修复和功能改进。

Release notes: 

https://github.com/alibaba/Sentinel/releases/tag/1.6.2


3. 项目动态和规划

  • Sentinel 下一个里程碑版本 1.7.0 将引入对 Envoy 等 Service Mesh 的初步支持,相关讨论:

    https://github.com/alibaba/Sentinel/issues/666

  • Sentinel 首个原生多语言版本 - Sentinel C++ 已完成基本的统计和流控特性,近期将发布第一个 RC 版本;后续也会以 Envoy Filter 的形式原生整合到 Envoy 中,为 Service Mesh 提供多维度流量控制的能力。


 08   Spring Cloud Alibaba 


1. 版本发布

Spring Cloud Alibaba 0.9.0 snapshot 版本发布,主要的功能点:

  • 新增 spring-cloud-alibaba-sentinel-gateway 模块支持 Zuul 以及 Spring Cloud Gateway,spring-cloud-starter-alibaba-sentinel 模块适配了 Webflux 和 WebServlet 两种环境;

  • RocketMQ Binder 适配了 Polled Consumer 功能,支持注入 PollableMessageSource 进行 RocketMQ 消息的拉取;


2. 项目动态和规划

  • 7月6日13:00 - 18:00,Apache RocketMQ × Apache Flink Meetup 上海站带来 《Spring Cloud Stream RocketMQ Binder & Bus 揭秘》的介绍,报名地址: 

    https://www.huodongxing.com/event/7496766547500

  • Spring Cloud Hoxton 近期发布第一个 snapshot 版本,该版本基于 Spring Boot 2.2.0 开发。Spring Boot 2.2.0 release note 参考 https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.2-Release-Notes,Spring Cloud Alibaba 后续会集成 Hoxton 版本;


 09   Tengine 


版本发布

Tengine-2.3.1 版本预发布,丰富主动健康检查协议类型、独立模块支持动态编译等,以及相关模块问题的修复与优化、升级 core 代码为官方 Nginx-1.16.0 版本。


本期作者:

Dubbo

张乎兴,GitHub ID @ralf0131

RocketMQ

厉启鹏,GitHub ID @wlliqipeng

Arthas

陈志轩 ,GitHub ID @hengyunabc

ChaosBlade

肖长军,GitHub ID @xcaspar

Nacos

朱鹏飞,GitHub ID @nkorange

Seata

季敏,GitHub ID @slievrly

Sentinel

赵奕豪,GitHub ID @sczyh30

Spring Cloud Alibaba

方剑,GitHub ID @fangjian0423

Tengine

王发康,GitHub ID @wangfakang

推荐↓↓↓
开源最前线
上一篇:分享一组开源的匹配中国大陆手机号码的正则表达式 下一篇:2019年6月Github上最热门的Python开源项目