開源大閱兵:盤點那些走向世界的中國專案
“開源(Open Source)”,這個在程式設計師界耳熟能詳的詞,幾乎充斥著我們的整個職業生涯。相信沒有一個程式設計師不知道啥是“開源”,相信沒有一個程式設計師從來沒用過“開源”產品。回顧一下,我們所熟知的一些偉大開源專案幾乎都出自國外的程式大師或組織。然而,這幾年國人也貢獻了不少優秀的開源專案與產品,甚至有一些也收到國外同行的認可與讚許。下面我們就在一起盤點下,那些產自中國,走向世界的偉大開源專案吧!
Kylin
Kylin™是第一個成為Apache頂級開源專案的中國作品。它是一個分散式分析引擎,提供Hadoop之上的SQL查詢介面及多維分析(OLAP)能力以支援超大規模資料,能夠處理TB乃至PB級別的分析任務。它能在亞秒內查詢巨大的Hive表,並支援高併發。
Kylin的核心思想是預計算(以空間換時間),即對多維分析可能用到的度量進行預計算,將計算好的結果儲存成Cube,供查詢時直接訪問。把高複雜度的聚合運算、多表連線等操作轉換成對預計算結果的查詢,這決定了Kylin能夠擁有很好的快速查詢和高併發能力。
官方網站:http://kylin.apache.org/
Rocket
2016年11月28日,阿里巴巴宣佈將開源分散式訊息中介軟體RocketMQ捐贈給Apache,成為Apache 孵化專案。在孵化期間,RocketMQ完成編碼規約、分支模型、持續交付、釋出規約等方面的產品規範化,持續聽取和反饋社群,覆蓋了電子商務、物聯網、金融、大資料等眾多領域需求,且具備了連線其它頂級開源生態(如Spark、Ignite和Storm等)能力。
RocketMQ來自於中國,但已經引起了全世界範圍的關注。RocketMQ不僅斬獲2015年中日韓開源論壇的CJK OSS大獎,並且已經進入歐美主流開源入口網站的視野,目前100多家公司和科研機構正在使用RocketMQ,值得一提的是目前美國是RocketMQ全球第二大訪問國。
2017年9月25日,Apache軟體基金會官方宣佈,阿里巴巴捐贈給Apache社群的開源專案RocketMQ從Apache社群正式畢業,成為Apache頂級專案(TLP)。自此,Apache RocketMQ成為國內首個非Hadoop生態體系、國內首個網際網路中介軟體的Apache頂級專案。這意味著中國技術走上國際舞臺,在國際開源專案中了有主導權。
官方網站:http://rocketmq.apache.org/
Pulsar
Pulsar 是一個分散式的訊息釋出/訂閱傳遞平臺,旨在實現可擴充套件性和靈活性,並確保無資料丟失。專案於2015年由 Yahoo 開源,2017年6月提交給 Apache 孵化器。
Pulsar 最初目標是建立一個多租戶可擴充套件的訊息傳遞系統,也正因此,其將服務區和儲存層分開的獨特架構,已被證明是一個關鍵的優勢。這兩層架構使 Pulsar 能夠為叢集操作提供極為簡化的方法,允許運營商輕鬆擴充套件叢集並替換故障節點,或者提供更高的寫入和讀取可用性。
Pulsar 利用 Apache BookKeeper 作為儲存元件,目前已被 MercadoLibre、Oath、One Click Retail、STICorp、TaxiStartup、Yahoo Japan Corporation 和 Zhaopin.com 等企業使用。
官方網站:http://pulsar.apache.org/
SkyWalking
SkyWalking 是一款應用效能監控(APM)工具,對微服務、雲原生和容器化應用提供自動化、高效能的監控方案。專案於2015年建立,並於2017年12月進入 Apache 孵化器。經過一年半時間,該專案目前已成為 Apache 基金會頂級專案。
SkyWalking 是觀察性分析平臺和應用效能管理系統。SkyWalking 是一款國人主導開發的開源應用效能監控系統。SkyWalking是一個開源可觀測性平臺,用於收集、分析、聚合和視覺化來自服務和雲原生基礎設施的資料。SkyWalking提供了一種簡單的方法,可以讓你清晰的檢視分散式系統、甚至是跨雲環境中。它更像是現代化APM(Application Performance Manager),專為雲原生、基於容器和分散式系統而設計的。
SkyWalking 包括指標監控,分散式追蹤,分散式系統性能診斷。提供分散式追蹤、服務網格遙測分析、度量聚合和視覺化一體化解決方案。
官方網站:http://skywalking.apache.org/
Vue
Vue.js是一套構建使用者介面的漸進式框架。與其他重量級框架不同的是,Vue 採用自底向上增量開發的設計。Vue 的核心庫只關注檢視層,並且非常容易學習,非常容易與其它庫或已有專案整合。另一方面,Vue 完全有能力驅動採用單檔案元件和Vue生態系統支援的庫開發的複雜單頁應用。
Vue.js 的目標是通過儘可能簡單的 API 實現響應的資料繫結和組合的檢視元件。
Vue.js 自身不是一個全能框架——它只聚焦於檢視層。因此它非常容易學習,非常容易與其它庫或已有專案整合。另一方面,在與相關工具和支援庫一起使用時,Vue.js 也能完美地驅動複雜的單頁應用。
官方網站:https://cn.vuejs.org/
Spring Cloud Alibaba
Spring Cloud 是 Spring 社群打造出的一款基於 Spring Boot 用於快速構建分散式系統的框架,是一套微服務規範,並不是一個拿來即可用的框架,而 Spring Cloud Alibaba 的開源為開發者們提供了這套規範的實現方式。同時,Spring Cloud Alibaba 提供的完整的微服務元件、中文文件和本地化的開源服務提高了開發者們接入微服務的速率,並降低了後續的運維難度。
經過一年多的孵化,Spring Cloud Alibaba 作為 Spring 社群的唯一一個國產開源專案,正式從 Spring Cloud Incubator 孵化器畢業,併發布了適配 Spring Cloud Edgware、Finchley、Greenwich 三個版本的新版本。
Spring Cloud Alibaba 是 Spring 社群第一個也是唯一一個國產開源專案。
官方網站:https://github.com/alibaba/spring-cloud-alibaba
P.S. 歡迎關注我一直關注和持續分享的Spring Cloud專題(已更新Spring Cloud Alibaba的專題教程):http://blog.didispace.com/spring-cloud-learning/
Harbor
Harbor 是由 VMware 公司中國團隊為企業使用者設計的 Registry server 開源專案,包括了許可權管理(RBAC)、LDAP、審計、管理介面、自我註冊、HA 等企業必需的功能,作為一個企業級私有 Registry 伺服器,Harbor 提供了更好的效能和安全。提升使用者使用 Registry 構建和執行環境傳輸映象的效率。
2018 年,CNCF 正式宣佈正式接納 Harbor 為沙箱專案,此次大會上又宣佈 Harbor 成為 CNCF 基金會第 19 個孵化專案,由 VMware 中國研發中心創立,是首個加入 CNCF 且原創於中國的專案,如今也成為 CNCF 首個進入孵化階段的中國專案。
官方網站:https://goharbor.io/
TiKV
2018年8月30日,CNCF 宣佈接納 TiKV 為沙箱專案。
TiKV 是一個分散式事務鍵值資料庫,最初是為了補充 TiDB 而建立的。TiKV 採用 Rust 構建,由 Raft 提供支援,受到 Google Spanner 和 HBase 設計的啟發,提供簡化的排程和自動平衡,但不依賴於任何分散式檔案系統。TiKV 是一個開源、統一分散式儲存層,支援功能強大的資料一致性、分散式事務、水平可擴充套件性和雲原生架構。功能特性:
- 異地複製 :TiKV 使用 Raft 和 Placement Driver 進行異地複製來保證資料的安全性。
- 水平擴充套件 : 憑藉 PD 和精心設計的 Raft 組,TiKV 在水平可擴充套件性方面表現出色,可輕鬆擴充套件至100多TB資料。
- 一致性分散式事務:與 Google 的 Spanner 類似,TiKV 支援外部一致的分散式事務。
- 協處理器支援: 與 Hbase 類似,TiKV 實現了一個支援分散式計算的協處理器框架。
- 和 TiDB 融合:得益於內部優化,TiKV 和 TiDB 可以協同工作,成為具有高水平可擴充套件性、外部一致性事務,RDBMS 支援和 NoSQL 設計模式的資料庫解決方案。
官方網站:https://github.com/tikv/tikv
Dragonfly
2018年11月14日,CNCF 宣佈接納 Dragonfly 為沙箱專案。
Dragonfly 主要解決以 Kubernetes 為核心的分散式應用編排系統的映象分發難題。隨著企業數字化大潮的席捲,行業應用紛紛朝微服務架構演進,並通過雲化平臺優化業務管理。Dragonfly 從實際落地場景出發,前瞻性地解決了雲原生映象分發的三大難題:
- 分發效率:藉助 P2P 與 CDN 技術,縮減映象傳輸時間,提升分發效率,加速業務應用交付 ;
- 分發流控:藉助智慧分析技術,動態平衡分發負載與業務執行態,實現流量動態控制,保障業務穩定 無干擾執行 ;
- 分發安全:支援私有映象倉庫 HTTPS 協議,加密內容傳輸,確保資訊保安。
Dragonfly 於 2017 年開源,如今,Dragonfly 已經被應用在包括電商、運營商、金融、 網際網路在內的一系列公司,如中國移動、螞蟻金服、京東、⻁牙直播、滴滴、科大訊⻜、去哪兒等。
Dragonfly 進入 CNCF 對雙方都是里程碑式的事件:Dragonfly 的雲原生價值受到行業認可,CNCF 則在技術領域新增重要版圖,首次將分發作為行業命題,提升企業微服務架構應用的交付效率。
官方網站:https://github.com/alibaba/Dragonfly
這裡僅列舉了進入國際開源組織、已經不僅僅服務於國人的偉大專案。除此之外,還有非常多優秀的國產開源專案被頻繁的應用於我們的日常工作中,幫助我們更高效的完成工作,比如:Arthas、Dubbo、Apollo、ECharts...等等。雖然這些並沒有進入這些高大上的國際組織,但是它們的維護者與貢獻者們,依然值得我們每一個同行尊重,尤其是國內開源的氛圍並沒有那麼好的情況下。但是,相信在這麼多優秀專案的帶領下,越來越多的中國開源會登上國際舞臺!
參考資料
- https://www.csdn.net/article/a/2017-09-28/15932967
- https://www.sohu.com/a/142623816_465944
- https://www.oschina.net/news/100323/pulsar-as-apache-tlp
- https://blog.csdn.net/bntX2jSQfEHy7/article/details/89666941
- https://baike.baidu.com/item/Vue.js/19884851
- https://developer.aliyun.com/article/716337
- https://www.infoq.cn/article/cXFaCOK3Rdkhx_lRP8fL
https://www.oschina.net/p/tikv
歡迎關注我的公眾號:程式猿DD,獲得獨家整理的學習資源和日常乾貨推送。
如果您對我的專題內容感興趣,也可以關注我的部落格:didispace.com