開源大閱兵:盤點那些走向世界的中國項目

  • 2019 年 10 月 9 日
  • 筆記

「開源(Open Source)」,這個在程式設計師界耳熟能詳的詞,幾乎充斥著我們的整個職業生涯。相信沒有一個程式設計師不知道啥是「開源」,相信沒有一個程式設計師從來沒用過「開源」產品。回顧一下,我們所熟知的一些偉大開源項目幾乎都出自國外的程式大師或組織。然而,這幾年國人也貢獻了不少優秀的開源項目與產品,甚至有一些也收到國外同行的認可與讚許。下面我們就在一起盤點下,那些產自中國,走向世界的偉大開源項目吧!

Kylin

file

Kylin™是第一個成為Apache頂級開源項目的中國作品。它是一個分散式分析引擎,提供Hadoop之上的SQL查詢介面及多維分析(OLAP)能力以支援超大規模數據,能夠處理TB乃至PB級別的分析任務。它能在亞秒內查詢巨大的Hive表,並支援高並發。

Kylin的核心思想是預計算(以空間換時間),即對多維分析可能用到的度量進行預計算,將計算好的結果保存成Cube,供查詢時直接訪問。把高複雜度的聚合運算、多表連接等操作轉換成對預計算結果的查詢,這決定了Kylin能夠擁有很好的快速查詢和高並發能力。

官方網站http://kylin.apache.org/

Rocket

file

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

file

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

file

SkyWalking 是一款應用性能監控(APM)工具,對微服務、雲原生和容器化應用提供自動化、高性能的監控方案。項目於2015年創建,並於2017年12月進入 Apache 孵化器。經過一年半時間,該項目目前已成為 Apache 基金會頂級項目。

SkyWalking 是觀察性分析平台和應用性能管理系統。SkyWalking 是一款國人主導開發的開源應用性能監控系統。SkyWalking是一個開源可觀測性平台,用於收集、分析、聚合和可視化來自服務和雲原生基礎設施的數據。SkyWalking提供了一種簡單的方法,可以讓你清晰的查看分散式系統、甚至是跨雲環境中。它更像是現代化APM(Application Performance Manager),專為雲原生、基於容器和分散式系統而設計的。

SkyWalking 包括指標監控,分散式追蹤,分散式系統性能診斷。提供分散式追蹤、服務網格遙測分析、度量聚合和可視化一體化解決方案。

官方網站http://skywalking.apache.org/

Vue

file

Vue.js是一套構建用戶介面的漸進式框架。與其他重量級框架不同的是,Vue 採用自底向上增量開發的設計。Vue 的核心庫只關注視圖層,並且非常容易學習,非常容易與其它庫或已有項目整合。另一方面,Vue 完全有能力驅動採用單文件組件和Vue生態系統支援的庫開發的複雜單頁應用。

Vue.js 的目標是通過儘可能簡單的 API 實現響應的數據綁定和組合的視圖組件。

Vue.js 自身不是一個全能框架——它只聚焦於視圖層。因此它非常容易學習,非常容易與其它庫或已有項目整合。另一方面,在與相關工具和支援庫一起使用時,Vue.js 也能完美地驅動複雜的單頁應用。

官方網站https://cn.vuejs.org/

Spring Cloud Alibaba

file

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

file

Harbor 是由 VMware 公司中國團隊為企業用戶設計的 Registry server 開源項目,包括了許可權管理(RBAC)、LDAP、審計、管理介面、自我註冊、HA 等企業必需的功能,作為一個企業級私有 Registry 伺服器,Harbor 提供了更好的性能和安全。提升用戶使用 Registry 構建和運行環境傳輸鏡像的效率。

2018 年,CNCF 正式宣布正式接納 Harbor 為沙箱項目,此次大會上又宣布 Harbor 成為 CNCF 基金會第 19 個孵化項目,由 VMware 中國研發中心創立,是首個加入 CNCF 且原創於中國的項目,如今也成為 CNCF 首個進入孵化階段的中國項目。

官方網站https://goharbor.io/

TiKV

file

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

file

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…等等。雖然這些並沒有進入這些高大上的國際組織,但是它們的維護者與貢獻者們,依然值得我們每一個同行尊重,尤其是中國開源的氛圍並沒有那麼好的情況下。但是,相信在這麼多優秀項目的帶領下,越來越多的中國開源會登上國際舞台!

參考資料