2020 年微服务项目活跃度报告
導讀:2020 年 8 月 18 日,首屆云原生微服務大會于線上召開,會議首日,阿里云資深技術專家、CNCF TOC 李響 Keynote 演講中正式發(fā)布了《 2020 年微服務領域開源數(shù)字化報告》。
微服務體系就像是一劑催化劑,可以加速數(shù)據(jù)和業(yè)務結合的過程,更好地提升生產(chǎn)力,從而實現(xiàn)業(yè)務的提升。本項目旨在通過建立一份建立在微服務領域的相對完整、可以反復進行推演的數(shù)據(jù)報告(報告、數(shù)據(jù)、算法均開源),分析微服務框架項目以及 Spring Cloud 項目的 GitHub 開發(fā)者行為日志,通過多維度數(shù)據(jù)分析的視角,來觀察微服務領域的開源現(xiàn)狀、進展趨勢、演化特征等問題。
本報告根據(jù) 2020 年 1 月到 6 月的 GitHub 日志進行統(tǒng)計。值得一提的是,報告顯示 Apache Dubbo 作為中國本土開源的項目,在微服務框架中排名第 5,全球排名躋身 693;Spring 社區(qū)第一個國產(chǎn) Spring Cloud 項目 Spring Cloud Alibaba 作為開源的微服務全家桶,在 Spring Cloud 榜單中居于榜首。
關鍵詞:微服務、開源、行為數(shù)據(jù)、GitHub
背景
隨著業(yè)務的擴張,單體應用架構的開發(fā)、部署和運維都會越來越慢,越來越復雜,甚至在單體架構應用開發(fā)中敏捷模式無法施展開。基于此,具有更高獨立性、可用性和彈性的微服務應運而生。從結構上看,微服務架構將一個應用拆分成多個松耦合的服務,這些服務之間通過某種協(xié)議(REST、rpc 等)進行互相協(xié)作,完成原單體架構功能,但提供更靈活的部署模式,更容易擴展,降低了開發(fā)、運維上的復雜度。微服務的核心思想就是分而治之。微服務是商業(yè)應用程序發(fā)中最熱門的新事物。微服務這個詞取代了敏捷、DevOps 和 RESTful。
2020 年 7 月 O’Reilly 公布了一份關于企業(yè)微服務市場現(xiàn)狀的數(shù)據(jù)調(diào)研。報告顯示,在訪問了全球 1502 名軟件工程師、系統(tǒng)和技術架構師、工程師以及決策者后,有 77% 的組織反饋采用了微服務,其中 92% 的組織成功使用了微服務。了解并分析微服務領域開源項目的發(fā)展,有助于掌握該領域的發(fā)展趨勢,從而幫助提高企業(yè)的競爭力。
因此,進一步深入研究微服務領域的開源數(shù)字化現(xiàn)狀具有非常重大的意義。
總體宏觀統(tǒng)計結果
1. Key Takeaways
-
Quarkus 作為云原生微服務框架,在微服務框架中活躍度排名第一,全球 GitHub 開源項目活躍度中排名 40;
-
Spring 作為 Java 微服務框架事實標準,Spring Cloud 和 Spring Boot 項目在微服務框架中活躍度分別位列第二和第三;
-
Apache Dubbo 作為中國本土開源的項目,微服務框架活躍度排名第五,全球 GitHub 開源項目活躍度中排名躋身 693;
-
在廠商 Spring Cloud 項目中,Spring Cloud Alibaba 活躍度排名第一。
2. 微服務框架榜單
根據(jù)附錄中給出的項目活躍度定義,我們使用 2020 年 1 月~6 月的數(shù)據(jù)對微服務框架相關的項目及社區(qū)進行了活躍度的統(tǒng)計與排名,結果如下表所示,quarkusio/quarkus 項目、spring-cloud 社區(qū)、spring-projects / spring-boot 項目分別位于 Top1,Top2,Top3。需要注意的是,global_rank 是指該項目在全球 GitHub 開源項目中的活躍度排名。
(點擊查看大圖)
【注】:表格中的 developer 是指執(zhí)行了五種動作:Issue comment、Open issue、Open pull request、Pull reuqest review comment 和 Pull request merged 的開發(fā)者。
3. Spring Cloud 榜單
根據(jù)附錄中給出的項目活躍度的定義,我們使用 2020 年 1 月~6 月的數(shù)據(jù)對 Spring Cloud 項目進行了活躍度的統(tǒng)計與排名,結果如下表所示:
(點擊查看大圖)
【注】:表格中的 developer 是指執(zhí)行了五種動作:Issue comment、Open issue、Open pull request、Pull reuqest review comment 和 Pull request merged的開發(fā)。
展望
此次開源項目數(shù)據(jù)報告針對微服務領域的項目進行了研究,主要是提供了一些統(tǒng)計數(shù)據(jù)。未來,會對社區(qū)協(xié)作關系做可視化的呈現(xiàn);在數(shù)據(jù)挖掘的層面,會基于真實數(shù)據(jù)挖掘數(shù)據(jù)背后的價值。希望報告所倡導的開源開放的業(yè)態(tài)有助于推動中國微服務領域的開源走向更深層次。
致謝
本次報告由 X-lab 開放實驗室撰寫。
X-lab 開放實驗室是由來自華東師范大學、同濟大學的師生所構成的開放創(chuàng)新共同體,專業(yè)背景包括計算機科學、數(shù)據(jù)科學及其相關跨學科,長期思考并實踐教育與開源兩大主題。
附錄:數(shù)據(jù)集及方法
1. 數(shù)據(jù)集
-
時間:2020 年 1 月~2020 年 6 月
-
微服務框架數(shù)據(jù)
- spring-cloud 數(shù)據(jù)集
2. 活躍度計算方式
(1)開發(fā)者活躍度
開發(fā)者活躍度,其定義為某特定 GitHub 賬號在一段時間內(nèi)在某特定 GitHub 項目中的活躍評價指標。其活躍度由該賬號在該項目中的行為數(shù)據(jù)決定。本報告中所關心的行為包含如下幾種:
-
Issue comment:在 issue 中參與討論是最基本的行為,每個評論計入 1 次;
-
Open issue:在項目中發(fā)起一個 issue,無論是討論、Bug 報告或提問,對項目都是帶來活躍的,每個發(fā)起的 issue 計入 1 次;
-
Open pull request:為項目提交一個 PR,表示已對該項目進行源碼貢獻,則每次發(fā)起一個 PR 計入 1 次;
-
Pull reuqest review comment:對項目中的 PR 進行 review 和討論,需要對項目有相當?shù)牧私?#xff0c;并且對項目源碼的質(zhì)量有極大幫助,每個評論計入 1 次;
-
Pull request merged:若有 PR 被項目合入,即便是很小的改動,也需要對項目有較為深入的理解,是幫助項目進步的真切貢獻,則每有一個 PR 被合入計入 1 次。
以上 5 個種行為在該報告模型中,具有不一樣的權重,其加權值逐級增加,加權值分別為 1、2、3、4、5,即:
(2)項目活躍度
項目活躍度,其定義為某特定項目在一段時間內(nèi)的活躍評價指標。其活躍度由該段時間內(nèi)在本項目中產(chǎn)生活躍的開發(fā)者活躍度加權計算得到,即:
使用開方的加權方式,用于抹平因核心開發(fā)者活躍度過高而導致項目活躍度過高,在該計算方式下,活躍度計算方式對參與人數(shù)較多而活躍情況平均的項目更加友好。
本報告將周期性更新、發(fā)布,報告長期沉淀地址:https://github.com/alibaba/OpenSourceReport
首屆云原生微服務大會
首屆云原生微服務大會正在火熱直播中,點擊 PC 端地址即可觀看:https://developer.aliyun.com/topic/microservices2020#/
“阿里巴巴云原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦云原生流行技術趨勢、云原生大規(guī)模的落地實踐,做最懂云原生開發(fā)者的公眾號。”
總結
以上是生活随笔為你收集整理的2020 年微服务项目活跃度报告的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 专访 Christian Posta:I
- 下一篇: KubeCon 2020 演讲集锦|《阿