閱讀128 返回首頁    go 技術社區[雲棲]


分布式服務框架Dubbo瘋狂更新!阿裏開源要搞大事情?

最近,開源社區發生了一件大事,那個全國開發使用最廣的開源服務框架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修複,吸納社區的優秀Pull Request
  1. 2.5.7版本:階段性完成了社區累積issue的處理,同時開始滿足社區反映的新需求
  • 解決注冊中心緩存、監控阻塞rpc鏈路、泛化調用解析等issue
  • 滿足社區訴求
    開放注冊/監聽ip、port的配置,以支持docker等隔離網絡環境部署,參見示例
    完善注解配置形式,提供spring-boot配置形式支持;

三、近期Roadmap與規劃

2.5.7版本後,關注度高的一些issue基本都已得到解決,其他一些疑似問題或優先級相對較低的issue我們也會開始著手處理,另外我們會投入一定的精力開發新功能及優化代碼結構。
近2~3個版本,我們計劃提供以下內容的支持:

社區的反饋與需求 新功能 新特性 代碼優化
解決社區使用過程中遇到的問題或框架缺陷
吸納社區貢獻的新見解、新特性
解決文檔在gitbook訪問不穩定的問題
提供一些官方的基準性能測試數據
dubbo-admin等官方docker鏡像
提供服務延遲暴露、優雅停機API接口
支持RESTFUL風格服務調用
提供netty http的支持
集成高性能序列化協議
路由功能優化
消費端異步功能優化;提供端異步調用支持
注冊中心推送通知異步、合並處理改造

這些內容也在我們近期的候選需求列表中:

  • 重構動態配置模塊,動態配置和注冊中心分離,集成流行的開源分布式配置管理框架
  • 服務元數據注冊與注冊中心分離,豐富元數據內容
  • 適配流行的consul etcd等注冊中心方案
  • 考慮提供opentrace, oauth2, metrics, health, gateway等部分服務化基礎組建的支持
  • 服務治理平台OPS重做,除代碼、UI重構外,期望能提供更強的服務測試、健康檢查、服務動態治理等特性
  • Dubbo模塊化,各個模塊可單獨打包、單獨依賴
  • 集群熔斷和自動故障檢測能力

想了解當前版本的具體內容規劃及開發進度,可關注github milestone查看詳情

如果您有遇到關於Dubbo的缺陷或對Dubbo有什麼建議,隨時歡迎通過以下途徑向社區反饋:

github issues Dubbo使用其來跟蹤實際問題的處理進度;也可作疑似缺陷的討論分析
github pull request 如果你有好的代碼實現,歡迎可以提交到這裏,我們會及時處理
gitter討論組,有任何使用問題、新的idea,在這裏可以暢所欲言,也有各種Dubbo大牛熱心解答
google討論組,非正式的問題討論,和gitter類似,但方便回查曆史數據

如果您有興趣,也可以積極參與到Github issue問題追蹤、gitter問題討論中,幫助社區的使用者。我們正積極吸納社區活躍的貢獻者(代碼或問題解答者)加入Dubbo組織,共同推動Dubbo的進步。作為一個項目而言,Dubbo在項目管理及開源社區運營上還有很多不足,我們也會努力向一些更優秀的開源項目靠攏,方便大家能更好的參與到項目建設中。

關於Dubbo的後續動態,請大家持續關注Dubbo公眾號,我們會在此不定期更新Dubbo動態,發布Dubbo相關技術文章。

最後更新:2017-11-15 10:34:13

  上一篇:go  蔣步星:輕量級大數據計算引擎
  下一篇:go  怡海軟件:中小企業實施CRM係統的必要性!