128
技術社區[雲棲]
分布式服務框架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追蹤。發版內容也體現了當前的維護思路:發版內容以維護為主,優先解決社區關注度較高問題
- 2.5.5版本:維護後的第一個版本,包括依賴升級和issue修複
- 升級了依賴包版本
- 以問題反饋頻率和影響麵排定優先級,優先解決了幾個反饋最多、影響較大的一些缺陷,包括優雅停機、異步調用等
- 2.5.6版本:優先級較高的幾個issue修複,吸納社區的優秀Pull Request
- 通過跟蹤PR、issue反饋,修複了一些框架缺陷
- 新增了Netty4通信模塊、線程堆棧dump特性
- 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