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

188 阅读7分钟

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

截止目前,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 修复和功能改进。

Release notes

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

2. 项目动态和规划

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

五、Nacos

1. 版本发布

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

Release notes

2. 项目动态和规划

  • Nacos Go SDK 即将于6月底发布,由阿里巴巴和虎牙的开发者共同完成,将会是后续支持云原生的重要SDK;
  • Nacos 1.1.0 预计于7月5号发布,将支持灰度配置、地址服务器模式、配置导入导出、订阅者列表展示等重要功能;

六、Seata

1. 版本发布

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

Release notes

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 修复和功能改进。

Release notes

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。


本文作者:中间件小哥

原文链接

本文为云栖社区原创内容,未经允许不得转载。