從關注開源,到使用開源,再到參與開源貢獻,越來越多的國内開發者通過開源技術來建構業務。
截止目前,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的開發者沙龍。目前,已完成蘇州、北京、上海與成都站的籌備工作,暨已經建立城市站聯盟工作組。
三、Arthas
社群發起了 Arthas 線上教程的調研,希望大家提出改進建議。線上教程分為基礎和進階兩部分,旨在幫助開發者更快速的上手 Arthas,診斷疑難雜症。
調研位址,點選
四、ChaosBlade
1. 版本釋出
ChaosBlade 0.1.0 版本正式釋出。主要功能點:
- 可編寫動态腳本實作複雜的 Java 實驗場景,腳本支援 Java 和 Groovy 語言,可實作例如複雜的方法參數修改、複雜的方法傳回值對象修改,抛複雜異常等;
- Java 實驗場景新增實驗影響條數和百分比配置,可控制受實驗影響的請求條數或請求百分比;新增 JVM 内 CPU 滿載;
- 新增 HttpClient 演練插件;
- 其他的 bug 修複和功能改進。
編寫腳本實作 Java 複雜的演練場景幫助文檔,可通過此功能擴充出更多的演練場景,歡迎使用,
。
五、Nacos
Nacos 1.0.1釋出,支援健康檢查插件等功能,這個版本中除了原有的貢獻者外,新增了 13 名社群的貢獻者,總計合入了 43 個PR。
- Nacos Go SDK 即将于6月底釋出,由阿裡巴巴和虎牙的開發者共同完成,将會是後續支援雲原生的重要SDK;
- Nacos 1.1.0 預計于7月5号釋出,将支援灰階配置、位址伺服器模式、配置導入導出、訂閱者清單展示等重要功能;
六、Seata
Seata 0.6.1 釋出,支援叢集、motan和多環境配置隔離等功能。
- 由社群捐贈的 seata-go-server 即将完成内部孵化;
- Seata 下一個裡程碑版本 0.7.0 将引入對 Mertric 和 Protobuf 的支援;
七、Sentinel
社群新增兩位 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
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 消息的拉取;
- 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。