从关注开源,到使用开源,再到参与开源贡献,越来越多的国内开发者通过开源技术来构建业务。
截止目前,Arthas / Dubbo / ChaosBalde / Nacos / RocketMQ / Seata / Sentinel / Spring Cloud Alibaba / Tengine 等微服务领域的开源项目在 GitHub 上已获得近 8w 的 star,contributor 数量达738位,以一种社区协作的方式,来提升项目的生产效率和分发效率。
这里面,大家既是项目的开发者,也是项目的使用者,作为项目的需求方一同参与到项目的迭代过程中,使得项目能以更快的响应速度来满足实际需求,快速迭代出「好」的产品,这似乎是其他协作方式难以达到的。
通常,我们都会通过在 GitHub 上订阅邮件列表,来了解社区动态。这一次,我们联合以上各开源项目的负责人,发布「微服务开源生态报告」,汇集各个开源项目近期的社区动态,帮助开发者们更高效的了解到各开源项目的最新进展。
社区动态包括,但不限于:
- 版本发布
- 人员动态
- 项目动态和规划
- 培训和活动
非常欢迎国内其他微服务领域的开源项目将近期的社区动态,投递给我们,我们将一同发布。点击这里,在公众号后台给我们留言,我们会第一时间与您取得联系。
以下是第一期「微服务开源生态报告」的内容。
一、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 开销,社区正在讨论修复方案:详情
- 社区正在讨论基于目前的文档,出一本 Dubbo 权威指南,目前有很多同学愿意参与进来共建;
alibaba/metrics 组件正在提供对 Prometheus 的支持,详情;
二、Apache RocketMQ
1. 项目动态和规划
RocketMQ 完成和 CNCF CloudEvents 标准的绑定,这是国内开源软件第一个私有协议桥接设计,未来将在 Serverless 领域持续完成 events 支撑能力。
2. 培训和活动:
RocketMQ Meetup 城市站是社区自发组织,类似Google GDG的开发者沙龙。目前,已完成苏州、北京、上海与成都站的筹备工作,暨已经建立城市站联盟工作组。
- 6月29日13:00 - 17:00,北京城市社区开发者沙龙,详情;
- 6月29日18:00,将举办北京城市社区开发者训练营,详情;
- 7月6日13:00 - 18:00,Apache RocketMQ × Apache Flink Meetup 上海站,详情;
三、Arthas
1. 项目动态和规划
社区发起了 Arthas 在线教程的调研,希望大家提出改进建议。在线教程分为基础和进阶两部分,旨在帮助开发者更快速的上手 Arthas,诊断疑难杂症。
调研地址,点击这里
四、ChaosBlade
1. 版本发布
ChaosBlade 0.1.0 版本正式发布。主要功能点:
- 可编写动态脚本实现复杂的 Java 实验场景,脚本支持 Java 和 Groovy 语言,可实现例如复杂的方法参数修改、复杂的方法返回值对象修改,抛复杂异常等;
- Java 实验场景新增实验影响条数和百分比配置,可控制受实验影响的请求条数或请求百分比;新增 JVM 内 CPU 满载;
- 新增 HttpClient 演练插件;
- 其他的 bug 修复和功能改进。
编写脚本实现 Java 复杂的演练场景帮助文档,可通过此功能扩展出更多的演练场景,欢迎使用,详情。
2. 项目动态和规划
- ChaosBlade 下一个版本预计在7 月 11 日发布,将支持 C++ 应用的混沌实验场景;
- ChaosBlade 被列入 CNCF Landscape,详情;
五、Nacos
1. 版本发布
Nacos 1.0.1发布,支持健康检查插件等功能,这个版本中除了原有的贡献者外,新增了 13 名社区的贡献者,总计合入了 43 个PR。
2. 项目动态和规划
- Nacos Go SDK 即将于6月底发布,由阿里巴巴和虎牙的开发者共同完成,将会是后续支持云原生的重要SDK;
- Nacos 1.1.0 预计于7月5号发布,将支持灰度配置、地址服务器模式、配置导入导出、订阅者列表展示等重要功能;
六、Seata
1. 版本发布
Seata 0.6.1 发布,支持集群、motan和多环境配置隔离等功能。
2. 项目动态和规划
- 由社区捐赠的 seata-go-server 即将完成内部孵化;
- Seata 下一个里程碑版本 0.7.0 将引入对 Mertric 和 Protobuf 的支持;
七、Sentinel
1. 人员动态:
社区新增两位 committer,感谢两位对社区的贡献,他们分别是:
- 来自友乐活(北京) 的 Jason Joo,GitHub ID @jasonjoo2010
- 来自 tap4fun 的谢佶含,GitHub ID @cdfive
2. 版本发布
Sentinel 1.6.2 正式发布,主要的功能点:支持网关流控请求参数值匹配,以及其他的 bug 修复和功能改进。
3. 项目动态和规划
- Sentinel 下一个里程碑版本 1.7.0 将引入对 Envoy 等 Service Mesh 的初步支持,相关讨论,详情;
- Sentinel 首个原生多语言版本 - Sentinel C++ 已完成基本的统计和流控特性,近期将发布第一个 RC 版本;后续也会以 Envoy Filter 的形式原生整合到 Envoy 中,为 Service Mesh 提供多维度流量控制的能力。
八、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 揭秘》的介绍,报名地址;
- Spring Cloud Hoxton 近期发布第一个 snapshot 版本,该版本基于 Spring Boot 2.2.0 开发。Spring Boot 2.2.0 release note 参考这里,Spring Cloud Alibaba 后续会集成 Hoxton 版本;
九、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。