來源 | 阿里巴巴雲原生公眾號
2021 年,由中國開源軟件推進聯盟 COPU 牽頭髮布了《2021 中國開源發展藍皮書》,涵蓋當今全球開源的總體情況分析、開發者分析、項目分析、領域案例,繪製了一副"開源數字生態地圖"。讓我們全面地看到了開源領域的中國力量。
報告指出:
- 國內的企業阿里開源活躍度排名第一,有的指標值甚至是其它公司之和,並且在社區化/開放等方面也做得不錯。
- Dubbo 、RocketMQ兩大雲原生中間件開源項目處於 Apache 軟件基金會中國的項目開源象限第一方陣(全球化+影響力兩大維度)。
- 中國的活躍度Top 20項目列表中Nacos、Seata兩大中間件開源項目上榜。
今年,阿里雲原生開源大家族 13 大開源項目加入中國科學院軟件研究所開源軟件供應鏈點亮計劃支持下的系列高校開源活動——暑期 2021。
活動官網:https://summer.iscas.ac.cn/
通過本活動,同學們可以在頂級開源導師的指導下,深度體驗真實世界的軟件開發,感受開源技術共建的魅力。參與本次計劃的項目導師不乏 Apache 頂級項目 PMC & Committer、CNCF TOC 等,項目涉及領域微服務、容器、Serverless、混沌工程等多個熱門方向。
項目介紹
1. Apache Dubbo
Dubbo 是阿里巴巴於 2011 年開源的高性能 RPC 框架,並逐漸從一個 RPC 框架向微服務生態系統轉變。2019 年 5 月從 Apache 軟件基金會畢業,併成為 Apache 頂級項目。2021 年,Dubbo 3.0 Preview 發佈,直接宣佈下一代雲原生的技術藍圖。
- Dubbo idea list:https://summer.iscas.ac.cn/#/org/orgdetail/apachedubbo?lang=chi
- Dubbogo idea list:https://summer.iscas.ac.cn/#/org/orgdetail/dubbogo?lang=chi
2. Apache RocketMQ
RocketMQ 是阿里巴巴在 2012 年開源的分佈式消息中間件,2016 年捐贈給 Apache 軟件基金會,並於 2017 年 9 月 25 日成為 Apache 的頂級項目。
3. KubeVela
KubeVela 是一個“可編程式”的雲原生應用管理與交付平臺。作為 OAM(Open Application Model)在 Kubernetes 上的實現,KubeVela 從 2020 年 11 月正式宣佈開源起,在演進至今的短短半年時間,社區貢獻者達到 100+ 名,該項目不僅連續登上 GitHub Go 語言趨勢榜首和 HackerNews 首頁,更是迅速收穫了包括 MasterCard、Springer Nature、第四範式、SILOT、Upbound 等來自世界各地、不同行業的終端用戶,甚至還出現了像 Oracle Cloud、Napptive 等基於它構建的商業化產品。
4. Open Messaging
在雲計算時代,消息通訊已經成為現代數據驅動架構的關鍵環節,消息中間件可以連接數據源、數據處理引擎和應用程序。然而,全球範圍內,消息領域仍然存在兩大問題:一是缺乏供應商中立的行業標準,導致各種消息中間件的高複雜性和不兼容性,相應地造成了公司的產品低效、混亂和供應商鎖定等問題。二是目前已有的方案框架並不能很好地適配雲架構,即非雲原生架構,因此無法有效地對大數據、流計算和物聯網等新興業務需求提供技術支持。OpenMessaging 拋棄歷史包袱,輕裝上陣,期望能解決這些弊端。除了做到可以鏈接跨平臺、跨語言、跨產品和跨雲的標準之外,OpenMessaging 將提供 Cloud Native 的能力,面向雲計算、混合雲架構,實現多雲平臺無縫遷移,致力於提供金融、電子商務、IoT 及大數據等領域的一站式解決方案。發展 4 年多,至今包含 API Spec,OpenConnect,OpenChaos,OpenSchema,DLedger 在內的眾多流行開源項目。
5. Sentinel
Sentinel 是阿里巴巴開源的,面向雲原生、分佈式服務架構的高可用防護組件,主要以流量為切入點,從限流、流量整形、熔斷降級、系統自適應保護、熱點防護等多個維度來幫助開發者保障微服務的穩定性。Sentinel 承接了阿里巴巴近 10 年的雙十一大促流量的核心場景,例如秒殺、冷啟動、消息削峰填谷、集群流量控制、實時熔斷下游不可用服務等,是保障微服務高可用的利器,原生支持 Java/Go/C++ 等多種語言,並且提供 Istio/Envoy 全局流控支持來為 Service Mesh 提供高可用防護的能力。
6. Arthas
隨著微服務的流行,應用更加輕量和開發效率不斷提升,但是帶來的困境是線上問題排查越來越複雜困難。傳統的 Java 排查問題,需要重啟應用再進行調試,但是重啟應用之後現場會丟失,問題難以復現。因此自 2018 年 9 月,阿里巴巴開源了久經考驗,深受開發者喜愛的應用診斷利器 Arthas。在阿里巴巴內部 Arthas 每年診斷數百萬次,服務 10000+ 應用,總共節約 9000 人日。Arthas 通過創新的字節碼織入技術,可以在應用無需重啟時,查看調用上下文,高效排查問題;結合火焰圖,可以直接定位熱點,發現性能瓶頸;通過 redefine 技術,實現在線熱更新代碼;同時支持黑屏化和白屏化診斷,可以連接診斷大規模的集群。目前 Arthas 在 GitHub 上星標數達到 26000+,多次登頂 github 趨勢榜首,並收到 150+ 公司的登記支持,連續獲得開源中國 GVP 和最受歡迎軟件獎,是目前最流行的 Java 應用診斷工具。
7. Nacos
Nacos 致力於幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、服務配置、服務元數據及流量管理。Nacos 源代碼位於 Github,並每日同步到 Gitee;有 17.4k stars 和 6.8k 的 forks;社區共有 28 位核心 Committer,其中一半來自於 Alibaba,一半來自於社區各行各業。Nacos 支持各類主流編程語言,支持 SpringCloud 及 Dubbo 生態,支持 K8s 及 Docker 等容器部署。Nacos 具備簡單易用、特性豐富、超高性能、超大容量、高可用等優勢。核心能力:提供服務發現和服務健康監測能力 ,提供動態配置服務能力,提供動態 DNS 服務 ,提供服務及其元數據管理能力。
未來發展方向 :完成全面插件化,為用戶提供更簡易的擴展方式來滿足不同的安全性、可用性、可觀測性的要求;Mesh 化探索,通過 Mesh 化進一步降低用戶的使用成本和接入難度。
8. ChaosBlade
ChaosBlade 是阿里巴巴 2019 年開源的混沌工程項目,現已進入 CNCF Sandbox。主要包含混沌工程實驗工具 ChaosBlade 和混沌工程平臺 ChaosBlade-box,旨在通過混沌工程幫助企業解決雲原生過程中高可用問題。實驗工具 chaosblade 支持 3 大系統平臺,4 種編程語言應用,共涉及 200 多個實驗場景,3000 多個實驗參數,可以精細化的控制實驗範圍。混沌工程平臺 chaosblade-box 支持實驗工具託管,除已託管 ChaosBlade 外,還支持 Litmuschaos 實驗工具。已登記使用企業 40 多家,其中已在工商銀行、中國移動、小米、京東等企業中落地使用。
9. OpenKruise
OpenKruise 是阿里雲開源的應用自動化擴展套件,也是當前 CNCF 託管的 Sandbox 項目。它在完全兼容標準的 Kubernetes 之上,圍繞雲原生應用場景提供多種豐富的自動化能力。它來自於阿里巴巴多年來容器化、雲原生的技術沉澱,也是緊貼上游社區標準、適應互聯網規模化場景的技術理念與最佳實踐。目前 OpenKruise 在 Github 上已經有 2300+ star, 50+ 貢獻者,已登記生產使用的用戶包括來自國內外的阿里、螞蟻、攜程、蘇寧、OPPO、有贊、鬥魚TV、申通、小紅書、Lyft、Spectro Cloud 等企業。
10. OpenYurt
OpenYurt 是業界首個非侵入式的雲原生邊緣計算平臺,於 2020 年 9 月成為 CNCF 沙箱項目。OpenYurt 秉承“Extending your native Kubernetes to Edge”的非侵入式設計理念,擁有可實現邊緣計算全場景覆蓋的能力。在過去兩年內,OpenYurt 已實現全網覆蓋和本地覆蓋的全場景落地,全網覆蓋的應用場景如 CDN、音視頻直播、物聯網、物流、工業大腦、城市大腦等;本地覆蓋的應用場景和案例如阿里雲 LinkEdge、優酷、盒馬、AIBox、銀泰商城等。
11. Seata
Seata 是一款開源的分佈式事務解決方案,致力於在微服務架構下提供高性能和簡單易用的分佈式事務服務。在 Seata 開源之前,Seata 在阿里經濟體內部一直扮演著分佈式數據一致性的中間件角色,幾乎每筆交易都要使用 Seata,幫助業務平穩的度過歷年的雙 11 洪荒流量,對業務進行了有力的技術支撐。2019 年 1 月為了打造更加完善的技術生態和普惠技術成果,Seata 正式宣佈對外開源,Seata 將以社區共建的形式幫助用戶快速的落地分佈式事務解決方案。目前 Seata 除了獨創的 AT 事務模式外,還囊括了市面上絕大部分的分佈式事務解決方案,為用戶提供一站式的分佈式事務解決方案。Seata 開源後受到了大家的熱情追捧並一度蟬聯 GitHub 榜首,快速的成為了國內分佈式事務領域的事實標準,其生態得到了快速的發展。目前 Seata 支持了多種數據庫與 RPC 框架,與其他開源社區相集成,支持多種語言框架等。
12. Serverless Devs
Serverless 是近年來雲計算領域熱門話題,其憑藉著極致彈性、按量付費、降本提效等眾多優勢獲得到了很多人的追捧,各雲廠商也在不斷的佈局 Serverless 領域。但是隨著時間的發展,Serverless 領域也暴露出一些比較嚴重的,例如廠商鎖定嚴重,沒有合適的開發者工具,程序難以調試......為此,Serverless Devs 應運而生,以解決開發者在開發 Serverless 應用中最根本的訴求為己任,以開源開放的形式為態度,以推動 Serverless 領域不斷前行為目標,Serverless Devs 由阿里巴巴誕生,不拘泥於阿里雲,放眼雲計算,願開放懷抱與更多 Serverlessor 一起,玩轉 Serverless 架構。Serverless Devs 是一個由阿里巴巴發起的 Serverless 領域的開源項目,其目的是要和開發者們一起貢獻一款開源開放無廠商鎖定的 Serverless 開發者工具,希望這個工具可以在開發者開發 Serverless 應用的全生命週期發揮作用,希望開發者們可以像使用手機一樣玩轉 Serverless。
13. Dragonfly
Dragonfly 是一款基於 P2P 的智能鏡像和文件分發工具。它旨在提高文件傳輸的效率和速率,最大限度地利用網絡帶寬,尤其是在分發大量數據時,例如應用分發、緩存分發、日誌分發和鏡像分發。在阿里巴巴,Dragonfly 每個月會被調用 20 億次,分發的數據量高達 3.4PB。Dragonfly 已成為阿里巴巴基礎設施中的重要一環。儘管容器技術大部分時候簡化了運維工作,但是它也帶來了一些挑戰:例如鏡像分發的效率問題,尤其是必須在多個主機上覆制鏡像分發時。Dragonfly 在這種場景下能夠完美支持 Docker 和 PouchContainer。它也兼容其他格式的容器。相比原生方式,它能將容器分發速度提高 57 倍,並讓 Registry 網絡出口流量降低 99.5%。Dragonfly 能讓所有類型的文件、鏡像或數據分發變得簡單而經濟。目前已進入CNCF sandbox,是阿里第一個、中國第二個進入 CNCF sandbox 的項目。
項目申請攻略
1. 關於申請資格
- 本活動面向年滿 18 週歲在校學生。
- 暑期即將畢業的學生,只要在申請時學生證處在有效期內,就可以提交申請。
- 海外學生可提供錄取通知書/學生卡/在讀證明證明學生身份。
2. 申請建議
- 仔細閱讀學生指南:_https://summer.iscas.ac.cn/help/student/_。
- 多與導師溝通:對開源項目有一個全面的認識;細化方案,提升可行性;展現良好的溝通能力,有助於提升學中選概率。
- 每週至少 30 個小時能夠投入在項目中。
- 對活動充分了解,至少要閱讀學生指南、熱點問題、活動日程等內容。
- 專注感興趣的 1-2 個社區,提升中選率。
- 仔細查看社區的文檔,認真熟悉社區的參與方式、溝通渠道、社區軟件設計文檔、社區開源倉庫代碼等。
- 項目申請書的質量是被選中的主要因素,仔細閱讀申請要求,提交申請材料。
- 仔細閱讀學生指南:_https://summer.iscas.ac.cn/help/student/_。
獎金說明
1. 獎金額度
每個項目獎金總額根據項目難度分為 12000 元、9000 元和 6000 元(注:獎金數額為稅前人民幣金額)。
2. 獎金髮放時間
通過中期考核的學生會先收到 50% 的項目獎金,通過結項考核的學生將獲得剩餘 50% 的獎金。若結項評審未通過,則不予發放剩餘獎金數額。
參與流程
- 於報名系統內註冊賬號並填寫個人資料,點擊直達:https://portal.summer-ospp.ac.cn/summer/login
- 於官網挑選項目,與導師溝通並準備項目申請材料:https://summer.iscas.ac.cn/#/org/projectlist?lang=chi
- 查看項目申請模板並根據要求準備相關材料:https://summer.iscas.ac.cn/help/assets/項目申請模板.pdf
- 通過報名系統提交項目申請材料,申請通道將於 5 月 24 日開放:https://portal.summer-ospp.ac.cn/summer/login
- 項目申請審核結果公示,學生可在官網查看申請結果,公示時間:6 月 30 日
- 進行第一階段項目研發,提交研發成果供中期考核:7 月 1 日 - 8 月 15 日,中期考核結果公示:08 月 30 日
- 中期考核通過者進行第二階段項目研發,提交研發成果供結項考核:8 月 16 日 - 9 月 30 日,結項考核結果公示:10 月 22 日
- 年度優秀項目公示:11 月上旬
釘釘搜索釘釘群號(33032396)直接和導師交流!