2018年阿里巴巴重要開源項(xiàng)目匯總
開源展示了人類共同協(xié)作,成果分享的魅力,每一次技術(shù)發(fā)展都是站在巨人的肩膀上,技術(shù)諸多創(chuàng)新和發(fā)展往往就是基于開源發(fā)展起來的,沒有任何一家網(wǎng)絡(luò)公司可以不使用開源技術(shù),僅靠自身技術(shù)而發(fā)展起來。阿里巴巴各個團(tuán)隊(duì)都是發(fā)自內(nèi)心地將踩過的坑和總結(jié)的經(jīng)驗(yàn)融入到開源項(xiàng)目中,供業(yè)界所有人使用,希望幫助他人解決問題。
云棲社區(qū)特在2018年年末,將阿里巴巴的一些重要的開源項(xiàng)目進(jìn)行整理,希望對大家有所幫助。(以下項(xiàng)目排名不分先后)
這些優(yōu)質(zhì)的開源項(xiàng)目即將成立便于開發(fā)者交流的討論釘釘群。社區(qū)將不斷更新,歡迎大家加入討論。
前端
1.數(shù)據(jù)驅(qū)動的高交互可視化圖形語法 AntV - G2
G2 是一套基于可視化編碼的圖形語法,以數(shù)據(jù)驅(qū)動,具有高度的易用性和擴(kuò)展性,用戶無需關(guān)注各種繁瑣的實(shí)現(xiàn)細(xì)節(jié),一條語句即可構(gòu)建出各種各樣的可交互的統(tǒng)計(jì)圖表。
同時,G2 也是 AntV 最重要的組成,始于《The Grammar of Graphics》一書描述的視覺編碼語法系統(tǒng)(這也是 G2 項(xiàng)目命名的由來)。
項(xiàng)目地址:https://github.com/antvis/g2
2.企業(yè)級中后臺 UI 解決方案 Fusion Design
Fusion Design 是一種旨在提升設(shè)計(jì)與開發(fā)之間 UI 構(gòu)建效率的工作方式。通過建設(shè)基于 DPL 模式的,設(shè)計(jì)、前端之間的標(biāo)準(zhǔn)協(xié)議與工作流,來快速構(gòu)建符合業(yè)務(wù)訴求的 DPL,提升 DPL 的構(gòu)建效率和應(yīng)用效率,幫助業(yè)務(wù)快速實(shí)現(xiàn) UI 構(gòu)建。
項(xiàng)目地址:https://fusion.design/
3.設(shè)計(jì)語言 & 前端框架 Ant Design
Ant Design 是螞蟻金服開發(fā)和正在使用的一套企業(yè)級的前端設(shè)計(jì)語言和基于 React 的前端框架實(shí)現(xiàn)。它的特性:企業(yè)級金融產(chǎn)品的交互語言和視覺體系;豐富實(shí)用的 React UI 組件;基于 React 的組件化開發(fā)模式;背靠 npm 生態(tài)圈;基于 webpack 的調(diào)試構(gòu)建方案,支持 ES6。
地址:https://github.com/ant-design/ant-design
4.基于 G2 封裝的 React 圖表庫 BizCharts
BizCharts 是一個基于 G2 封裝的 React 圖表庫,具有 G2、React 的全部優(yōu)點(diǎn),可以讓用戶以組件的形式組合出無數(shù)種圖表;并且集成了大量的統(tǒng)計(jì)工具,支持多種坐標(biāo)系繪制,交互定制,動畫定制以及圖形定制等等。相信 BizCharts 定能成為您的數(shù)據(jù)可視化項(xiàng)目的強(qiáng)力助手。
地址:https://github.com/alibaba/BizCharts
5.企業(yè)級 Node.js 框架 Egg
阿里開源的企業(yè)級 Node.js 框架。Egg.js 的插件機(jī)制有很高的可擴(kuò)展性,一個插件只做一件事。Egg.js 通過框架聚合這些插件,并根據(jù)自己的業(yè)務(wù)場景定制配置,這樣應(yīng)用的開發(fā)成本就變得很低。
地址:https://github.com/eggjs/egg
6.基于 React 的前端框架 umi
umi 是可插拔的企業(yè)級 React 框架,類似 Next.js。
地址:https://github.com/umijs/umi
7.前端構(gòu)建和工程化工具 Dawn
Dawn 取「黎明、破曉」之意,原為「阿里云·業(yè)務(wù)運(yùn)營團(tuán)隊(duì)」內(nèi)部的前端構(gòu)建和工程化工具,現(xiàn)已完全開源。它通過 pipeline 和 middleware 將開發(fā)過程抽象為相對固定的階段和有限的操作,簡化并統(tǒng)一了開發(fā)人員的日常構(gòu)建與開發(fā)相關(guān)的工作。
地址:https://alibaba.github.io/dawn/
8.頁面邏輯原型 Ant UX
這是一套制作頁面邏輯的素材庫,當(dāng)你在產(chǎn)品設(shè)計(jì)初期,可以用它來繪制頁面與頁面之間的邏輯圖,幫助你了解產(chǎn)品架構(gòu),業(yè)務(wù)流程。
配合工具: OmniGraffle ,Sketch
OmniGraffle 可以用來繪制圖表,流程圖,組織結(jié)構(gòu)圖以及插圖,也可以用來組織頭腦中思考的信息,組織頭腦風(fēng)暴的結(jié)果,繪制心智圖,作為樣式管理器,或設(shè)計(jì)網(wǎng)頁或PDF文檔的原型。
Sketch 是一個矢量設(shè)計(jì)軟件,可以幫助你快速投入UI設(shè)計(jì)當(dāng)中。
9.跨容器的渲染引擎 Rax
Rax 是阿里開源的一個通用的 JavaScript 庫,主要有 React 兼容的 API 。 使用 React 的就應(yīng)該已經(jīng)知道如何使用 Rax。
地址:https://alibaba.github.io/rax/
10.基于 WebGL 的 Javascript 3D 繪圖引擎 G3D
G3D 是阿里巴巴開源的一款基于 WebGL 的 javascript 3D 繪圖引擎。與其他的 WebGL 3D 引擎相比,G3D 是更加「純粹」的渲染引擎,也就是說,它完全不依賴任何 DOM API,而是僅僅依賴一個 canvas 對象(或者類 canvas 對象)。該特性使得 G3D 不僅能夠運(yùn)行在瀏覽器環(huán)境中,也能夠運(yùn)行在一些非瀏覽器的 js 終端環(huán)境下(hybrid 環(huán)境),比如 GCanvas 環(huán)境(基于 Weex 或 ReactNative)。
地址:https://alibaba.github.io/G3D/
11.跨平臺移動開發(fā)工具 Weex
Weex 是開源的跨平臺移動開發(fā)工具,能夠***兼顧性能與動態(tài)性,讓移動開發(fā)者通過簡捷的前端語法寫出Native級別的性能體驗(yàn),并支持iOS、安卓、YunOS及Web等多端部署。
地址:https://github.com/apache/incubator-weex/
12.基于 Weex 的 UI 組件庫 Weex Ui
Weex Ui 是一個基于 Weex 的富交互、輕量級、高性能的 UI 組件庫。
地址:https://github.com/alibaba/weex-ui
13.動效語言& React 框架動效解決方案 Ant Motion
Ant Motion 是從螞蟻金服的 Ant Design 中提煉出來的動效語言。它不僅僅是動效語言,同時也是一套 React 框架動效解決方案,提供了單項(xiàng),組合動畫,以及整套解決方案,幫助開發(fā)者更容易的在項(xiàng)目中使用動效。
14.多頁面切換場景統(tǒng)一解決方案 UltraViewPager
UltraViewPager 是阿里開源的一個封裝多種特性的 ViewPager ,主要是為多頁面切換場景提供統(tǒng)一解決方案。
地址:https://github.com/alibaba/UltraViewPager
15.模塊化 UI 界面方案 Tangram UI
Tangram,七巧板,是天貓團(tuán)隊(duì)開源的跨平臺模塊化 UI 界面方案。
Tangram 不僅僅是一個 Native(iOS & Android)的界面開發(fā)框架,而是從日常工作中沉淀出的一套界面解決方案,涵蓋了 Native SDK、GUI操作臺、后端邏輯容器、組件庫機(jī)制的一整套方案。
地址:http://tangram.pingguohe.net/
16.自動化測試解決方案 Macaca
Macaca是一套完整的自動化測試解決方案,支持移動端和PC端,支持Native, Hybrid, H5 等多種應(yīng)用類型,并且提供客戶端工具和持續(xù)集成服務(wù)。
地址:https://github.com/alibaba/macaca
17.基于 React 的中后臺應(yīng)用解決方案 飛冰 ICE
飛冰(ICE) 是一套基于 React 的中后臺應(yīng)用解決方案,ICE 包含了一條從設(shè)計(jì)端到開發(fā)端的完整鏈路,幫助用戶快速搭建屬于自己的中后臺應(yīng)用。
面向設(shè)計(jì)者端,ICE 提供了 ICE Design 設(shè)計(jì)語言,來給 UI 界面提供專業(yè)的視覺指導(dǎo)。面向開發(fā)者端,ICE 提供了 Iceworks 工具,這是一個圖形化界面的開發(fā)平臺,它承載了 ICE 的物料體系和開發(fā)體驗(yàn)。
地址:https://alibaba.github.io/ice/
18.HTML5 互動游戲引擎 Hilo
Hilo 是阿里巴巴集團(tuán)開發(fā)的一款HTML5跨終端游戲解決方案,ta可以幫助開發(fā)者快速創(chuàng)建HTML5游戲。
地址:https://github.com/hiloteam/Hilo
19.JavaScript 模板引擎 Velocity.js
Velocity.js 是velocity模板語法的javascript實(shí)現(xiàn)。Velocity 是基于Java的模板引擎,廣泛應(yīng)用在阿里集 體各個子公司。Velocity模板適用于大量模板使用的場景,支持復(fù)雜的邏輯運(yùn)算,包含 基本數(shù)據(jù)類型、變量賦值和函數(shù)等功能。Velocity.js 支持 Node.js 和瀏覽器環(huán)境。
地址:https://github.com/shepherdwind/velocity.js
20. 非侵入式運(yùn)行期 AOP 框架 Dexposed
Dexposed 是阿里巴巴無線事業(yè)部***個重量級 Andorid 開源軟件,基于 ROOT 社區(qū)著名開源項(xiàng)目 Xposed 改造剝離了 ROOT 部分,演化為服務(wù)于所在應(yīng)用自身的 AOP 框架。它支撐了阿里大部分 App 的在線分鐘級客戶端 bugfix 和線上調(diào)試能力。
地址:https://github.com/alibaba/dexposed
21. 自動化測試解決方案 UI Recorder
UI Recorder 是一款零成本的整體自動化測試解決方案,一次自測等于多次測試,測一個瀏覽器等于測多個瀏覽器!
地址:https://github.com/alibaba/uirecorder
22. Android 應(yīng)用熱修復(fù)工具 AndFix
AndFix 是阿里巴巴開源的 Android 應(yīng)用熱修復(fù)工具,幫助 Anroid 開發(fā)者修復(fù)應(yīng)用的線上問題。Andfix 是 "Android hot-fix" 的縮寫。
地址:https://github.com/alibaba/AndFix
23. 淘寶 React 框架 React Web
淘寶前端團(tuán)隊(duì)開源項(xiàng)目React Web,通過與React Native一致的API構(gòu)建Web應(yīng)用。
地址:https://github.com/taobaofed/react-web
24.基于 Node.js 的自動化持續(xù)集成 Reliable
Reliable 是分布式架構(gòu)的持續(xù)集成系統(tǒng),由Macaca 團(tuán)隊(duì)的成員開發(fā)。適用于集成構(gòu)建、集成構(gòu)建等場景。她是典型的主從結(jié)構(gòu),分為reliable-master 與 reliable-slave 兩部分。
地址:https://github.com/reliablejs/reliable-master
25. 模擬數(shù)據(jù)生成器 Mock.js
Mock.js 是一款模擬數(shù)據(jù)生成器,旨在幫助前端攻城師獨(dú)立于后端進(jìn)行開發(fā),幫助編寫單元測試。提供了以下模擬功能:根據(jù)數(shù)據(jù)模板生成模擬數(shù)據(jù),模擬 Ajax 請求,生成并返回模擬數(shù)據(jù),基于 HTML 模板生成模擬數(shù)據(jù)。
地址:https://github.com/nuysoft/Mock
26. React 應(yīng)用的服務(wù)器渲染框架 Beidou
Beidou(北斗) 是 NodeJS & React 同構(gòu)框架,基于Egg.js開發(fā)。
地址:https://github.com/alibaba/beidou
Java
1.分布式應(yīng)用服務(wù)開發(fā)的一站式解決方案 Spring Cloud Alibaba
Spring Cloud Alibaba 致力于提供分布式應(yīng)用服務(wù)開發(fā)的一站式解決方案。此項(xiàng)目包含開發(fā)分布式應(yīng)用服務(wù)的必需組件,方便開發(fā)者通過 Spring Cloud 編程模型輕松使用這些組件來開發(fā)分布式應(yīng)用服務(wù)。
依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以將 Spring Cloud 應(yīng)用接入阿里分布式應(yīng)用解決方案,通過阿里中間件來迅速搭建分布式應(yīng)用系統(tǒng)。
地址:https://github.com/spring-cloud-incubator/spring-cloud-alibaba
2. JDBC 連接池、監(jiān)控組件 Druid
Druid是一個 JDBC 組件。
- 監(jiān)控?cái)?shù)據(jù)庫訪問性能。
- 提供了一個高效、功能強(qiáng)大、可擴(kuò)展性好的數(shù)據(jù)庫連接池。
- 數(shù)據(jù)庫密碼加密。
- SQL執(zhí)行日志。
地址:https://github.com/alibaba/druid
3. Java 的 JSON 處理器 fastjson
fastjson 是一個性能很好的 Java 語言實(shí)現(xiàn)的 JSON 解析器和生成器,來自阿里巴巴的工程師開發(fā)。
主要特點(diǎn):快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson);強(qiáng)大(支持普通JDK類包括任意Java Bean Class、Collection、Map、Date或enum);零依賴(沒有依賴其它任何類庫除了JDK)。
地址:https://github.com/alibaba/fastjson
4. 服務(wù)框架 Dubbo
Apache Dubbo (incubating) |是阿里巴巴的一款高性能、輕量級的開源Java RPC框架,它提供了三大核心能力:面向接口的遠(yuǎn)程方法調(diào)用,智能容錯和負(fù)載均衡,以及服務(wù)自動注冊和發(fā)現(xiàn)。
地址:https://github.com/alibaba/dubbo
5. 企業(yè)級流式計(jì)算引擎 JStorm
JStorm 是參考 Apache Storm 實(shí)現(xiàn)的實(shí)時流式計(jì)算框架,在網(wǎng)絡(luò)IO、線程模型、資源調(diào)度、可用性及穩(wěn)定性上做了持續(xù)改進(jìn),已被越來越多企業(yè)使用。JStorm 可以看作是 storm 的 java 增強(qiáng)版本,除了內(nèi)核用純java實(shí)現(xiàn)外,還包括了thrift、python、facet ui。從架構(gòu)上看,其本質(zhì)是一個基于 zk 的分布式調(diào)度系統(tǒng)。
地址:https://github.com/alibaba/jstorm
6. apns4j
apns4j 是 Apple Push Notification Service 的 Java 實(shí)現(xiàn)!
地址:https://github.com/teaey/apns4j
7. 分布式數(shù)據(jù)層 TDDL
TDDL 是一個基于集中式配置的 jdbc datasource實(shí)現(xiàn),具有主備,讀寫分離,動態(tài)數(shù)據(jù)庫配置等功能。
地址:https://github.com/alibaba/tb_tddl
8. 輕量級分布式數(shù)據(jù)訪問層 CobarClient
Cobar Client是一個輕量級分布式數(shù)據(jù)訪問層(DAL)基于iBatis(已更名為MyBatis)和Spring框架實(shí)現(xiàn)。
地址:https://github.com/alibaba/cobarclient
9. 淘寶定制 JVM:TaobaoJVM
TaobaoJVM 基于 OpenJDK HotSpot VM,是國內(nèi)***個優(yōu)化、定制且開源的服務(wù)器版Java虛擬機(jī)。目前已經(jīng)在淘寶、天貓上線,全部替換了Oracle官方JVM版本,在性能,功能上都初步體現(xiàn)了它的價值。
10. Java 圖片處理類庫 SimpleImage
SimpleImage是阿里巴巴的一個Java圖片處理的類庫,可以實(shí)現(xiàn)圖片縮略、水印等處理。
地址:https://github.com/alibaba/simpleimage
11. redis 的 java 客戶端 Tedis
Tedis 是另一個 redis 的 java 客戶端。Tedis 的目標(biāo)是打造一個可在生產(chǎn)環(huán)境直接使用的高可用 Redis 解決方案。
地址:https://github.com/justified/tedis
12.開源 Java 診斷工具 Arthas
Arthas(阿爾薩斯)是阿里巴巴開源的 Java 診斷工具,深受開發(fā)者喜愛。
Arthas 采用命令行交互模式,同時提供豐富的 Tab 自動補(bǔ)全功能,進(jìn)一步方便進(jìn)行問題的定位和診斷。
地址:https://alibaba.github.io/arthas/
13.動態(tài)服務(wù)發(fā)現(xiàn)、配置和服務(wù)管理平臺 Nacos
Nacos 致力于幫助您發(fā)現(xiàn)、配置和管理微服務(wù)。Nacos 提供了一組簡單易用的特性集,幫助您實(shí)現(xiàn)動態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置管理、服務(wù)及流量管理。
Nacos 幫助您更敏捷和容易地構(gòu)建、交付和管理微服務(wù)平臺。 Nacos 是構(gòu)建以“服務(wù)”為中心的現(xiàn)代應(yīng)用架構(gòu)(例如微服務(wù)范式、云原生范式)的服務(wù)基礎(chǔ)設(shè)施。
14.Java 解析 Excel 工具 easyexcel
Java 解析、生成 Excel 比較有名的框架有 Apache poi、jxl 。但他們都存在一個嚴(yán)重的問題就是非常的耗內(nèi)存,poi 有一套 SAX 模式的 API 可以一定程度的解決一些內(nèi)存溢出的問題,但 POI 還是有一些缺陷,比如 07 版 Excel 解壓縮以及解壓后存儲都是在內(nèi)存中完成的,內(nèi)存消耗依然很大。easyexcel 重寫了 poi 對 07 版 Excel 的解析,能夠原本一個 3M 的 excel 用 POI sax 依然需要 100M 左右內(nèi)存降低到 KB 級別,并且再大的 excel 不會出現(xiàn)內(nèi)存溢出,03 版依賴 POI 的 sax 模式。在上層做了模型轉(zhuǎn)換的封裝,讓使用者更加簡單方便。
地址:https://github.com/alibaba/easyexcel
15.高可用流量管理框架 Sentinel
Sentinel 是面向微服務(wù)的輕量級流量控制框架,從流量控制、熔斷降級、系統(tǒng)負(fù)載保護(hù)等多個維度保護(hù)服務(wù)的穩(wěn)定性。
只要通過 Sentinel API 定義的代碼,就是資源,能夠被 Sentinel 保護(hù)起來。大部分情況下,可以使用方法簽名,URL,甚至服務(wù)名稱作為資源名來標(biāo)示資源。
地址:https://github.com/alibaba/Sentinel
16.基于多維度 Metrics 的系統(tǒng)度量和監(jiān)控中間件 SOFALookout
Lookout 是一個利用多維度的 metrics 對目標(biāo)系統(tǒng)進(jìn)行度量和監(jiān)控的項(xiàng)目。Lookout 的多維度 metrics 參考 Metrics 2.0 標(biāo)準(zhǔn)。Lookout 項(xiàng)目分為客戶端部分與服務(wù)器端部分。
客戶端是一個 Java 的類庫,可以將它植入您的應(yīng)用代碼中采集 metrics 信息,客戶端更多詳情。
服務(wù)端代碼部分,將于下一版本提供。通過 LOOKOUT 的服務(wù),可以對 metrics 數(shù)據(jù)進(jìn)行收集、加工、存儲和查詢等處理,另外結(jié)合 grafana,可做數(shù)據(jù)可視化展示。
地址:https://github.com/alipay/sofa-lookout
17.基于 Spring Boot 的研發(fā)框架 SOFABoot
SOFABoot 是螞蟻金服開源的基于 Spring Boot 的研發(fā)框架,它在 Spring Boot 的基礎(chǔ)上,提供了諸如 Readiness Check,類隔離,日志空間隔離等等能力。在增強(qiáng)了 Spring Boot 的同時,SOFABoot 提供了讓用戶可以在 Spring Boot 中非常方便地使用 SOFAStack 相關(guān)中間件的能力。
地址:https://github.com/alipay/sofa-boot
18.輕量級 Java 類隔離容器 SOFAArk
SOFAArk 是一款基于 Java 實(shí)現(xiàn)的輕量級類隔離容器,由螞蟻金服公司開源貢獻(xiàn);主要為應(yīng)用程序提供類隔離和依賴包隔離的能力;基于 Fat Jar 技術(shù),應(yīng)用可以被打包成一個自包含可運(yùn)行的 Fat Jar,應(yīng)用既可以是簡單的單模塊 Java 應(yīng)用也可以是 Spring Boot 應(yīng)用??稍L問網(wǎng)址進(jìn)入快速開始并獲取更多詳細(xì)信息。
地址:https://alipay.github.io/sofastack.github.io/
19.分布式鏈路追蹤中間件 SOFATracer
SOFATracer 是一個用于分布式系統(tǒng)調(diào)用跟蹤的組件,通過統(tǒng)一的 traceId 將調(diào)用鏈路中的各種網(wǎng)絡(luò)調(diào)用情況以日志的方式記錄下來,以達(dá)到透視化網(wǎng)絡(luò)調(diào)用的目的。這些日志可用于故障的快速發(fā)現(xiàn),服務(wù)治理等。
地址:https://github.com/alipay/sofa-tracer
20.高性能 Java RPC 框架 SOFARPC
SOFARPC 是一個高可擴(kuò)展性、高性能、生產(chǎn)級的 Java RPC 框架。在螞蟻金服 SOFARPC 已經(jīng)經(jīng)歷了十多年及五代版本的發(fā)展。SOFARPC 致力于簡化應(yīng)用之間的 RPC 調(diào)用,為應(yīng)用提供方便透明、穩(wěn)定高效的點(diǎn)對點(diǎn)遠(yuǎn)程服務(wù)調(diào)用方案。為了用戶和開發(fā)者方便的進(jìn)行功能擴(kuò)展,SOFARPC 提供了豐富的模型抽象和可擴(kuò)展接口,包括過濾器、路由、負(fù)載均衡等等。同時圍繞 SOFARPC 框架及其周邊組件提供豐富的微服務(wù)治理方案。
地址:https://github.com/alipay/sofa-rpc
21.基于 Netty 的網(wǎng)絡(luò)通信框架 SOFABolt
SOFABolt 是螞蟻金融服務(wù)集團(tuán)開發(fā)的一套基于 Netty 實(shí)現(xiàn)的網(wǎng)絡(luò)通信框架。
為了讓 Java 程序員能將更多的精力放在基于網(wǎng)絡(luò)通信的業(yè)務(wù)邏輯實(shí)現(xiàn)上,而不是過多的糾結(jié)于網(wǎng)絡(luò)底層 NIO 的實(shí)現(xiàn)以及處理難以調(diào)試的網(wǎng)絡(luò)問題,Netty 應(yīng)運(yùn)而生。
為了讓中間件開發(fā)者能將更多的精力放在產(chǎn)品功能特性實(shí)現(xiàn)上,而不是重復(fù)地一遍遍制造通信框架的輪子,SOFABolt 應(yīng)運(yùn)而生。
地址:https://github.com/alipay/sofa-bolt
22.動態(tài)非侵入 AOP 解決方案 JVM-Sandbox
JVM-Sandbox,JVM 沙箱容器,一種基于 JVM 的非侵入式運(yùn)行期 AOP 解決方案。
地址:https://github.com/alibaba/jvm-sandbox
23.面向云的分布式消息領(lǐng)域標(biāo)準(zhǔn) OpenMessaging
OpenMessaging 是由阿里巴巴發(fā)起,與雅虎、滴滴出行、Streamlio 公司共同參與創(chuàng)立,旨在創(chuàng)立廠商無關(guān)、平臺無關(guān)的分布式消息及流處理領(lǐng)域的應(yīng)用開發(fā)標(biāo)準(zhǔn)。
地址:https://github.com/openmessaging/openmessaging-java
24.P2P 文件分發(fā)系統(tǒng) Dragonfly
Dragonfly(蜻蜓)是阿里自研的 P2P 文件分發(fā)系統(tǒng),用于解決大規(guī)模文件分發(fā)場景下分發(fā)耗時、成功率低、帶寬浪費(fèi)等難題。大幅提升發(fā)布部署、數(shù)據(jù)預(yù)熱、大規(guī)模容器鏡像分發(fā)等業(yè)務(wù)能力。
開源版的 Dragonfly 可用于 P2P 文件分發(fā)、容器鏡像分發(fā)、局部限速、磁盤容量預(yù)檢等。它支持多種容器技術(shù),對容器本身無需做任何改造,鏡像分發(fā)比 natvie 方式提速可高達(dá) 57 倍,Registry 網(wǎng)絡(luò)出流量降低99.5%以上。
地址:https://github.com/alibaba/Dragonfly
25.LayoutManager 定制化布局方案 vlayout
VirtualLayout是一個針對RecyclerView的LayoutManager擴(kuò)展, 主要提供一整套布局方案和布局間的組件復(fù)用的問題。
地址:https://github.com/alibaba/vlayout
26.Java 代碼規(guī)約掃描插件 P3C
項(xiàng)目包含三部分:PMD 實(shí)現(xiàn)、IntelliJ IDEA 插件、Eclipse 插件
地址:https://github.com/alibaba/p3c
27.Android 容器化框架 Atlas
Atlas 是由阿里巴巴移動團(tuán)隊(duì)自研的手機(jī)淘寶安卓客戶端容器化框架,以容器化思路解決大規(guī)模團(tuán)隊(duì)協(xié)作問題,實(shí)現(xiàn)并行開發(fā)、快速迭代和動態(tài)部署,適用于 Android 4.x 以上系統(tǒng)版本的大小型 App 開發(fā)。
數(shù)據(jù)庫
1. 開源數(shù)據(jù)庫 AliSQL
AliSQL 是基于 MySQL 官方版本的一個分支,由阿里云數(shù)據(jù)庫團(tuán)隊(duì)維護(hù),目前也應(yīng)用于阿里巴巴集團(tuán)業(yè)務(wù)以及阿里云數(shù)據(jù)庫服務(wù)。該版本在社區(qū)版的基礎(chǔ)上做了大量的性能與功能的優(yōu)化改進(jìn)。尤其適合電商、云計(jì)算以及金融等行業(yè)環(huán)境。
地址:https://github.com/alibaba/AliSQL
2. 分布式數(shù)據(jù)庫 OceanBase
OceanBase是一個支持海量數(shù)據(jù)的高性能分布式數(shù)據(jù)庫系統(tǒng),實(shí)現(xiàn)了數(shù)千億條記錄、數(shù)百TB數(shù)據(jù)上的跨行跨表事務(wù),由淘寶核心系統(tǒng)研發(fā)部、運(yùn)維、DBA、廣告、應(yīng)用研發(fā)等部門共同完成。
地址:https://github.com/alibaba/oceanbase
3. 分布式數(shù)據(jù)庫同步系統(tǒng) otter
otter 基于數(shù)據(jù)庫增量日志解析,準(zhǔn)實(shí)時同步到本機(jī)房或異地機(jī)房的mysql/oracle數(shù)據(jù)庫. 一個分布式數(shù)據(jù)庫同步系統(tǒng)。
地址:https://github.com/alibaba/otter
4. Oracle 數(shù)據(jù)遷移同步工具 yugong
yugong 是阿里巴巴推出的去 Oracle 數(shù)據(jù)遷移同步工具(全量 + 增量,目標(biāo)支持 MySQL/DRDS)。
地址:https://github.com/alibaba/yugong
5. 分布式 SQL 引擎 Lealone
Lealone 為 HBase 提供一個分布式SQL引擎,嘗試將BigTable(HBase)和 RDBMS (H2數(shù)據(jù)庫) 結(jié)合的項(xiàng)目。
地址:https://github.com/lealone/Lealone
6. 關(guān)系型數(shù)據(jù)的分布式處理系統(tǒng) Cobar
Cobar 是關(guān)系型數(shù)據(jù)的分布式處理系統(tǒng),它可以在分布式的環(huán)境下像傳統(tǒng)數(shù)據(jù)庫一樣為您提供海量數(shù)據(jù)服務(wù)。以下是快速啟動場景:
地址:https://github.com/alibaba/cobar
7. 分布式關(guān)系數(shù)據(jù)庫 Alibaba Wasp
Wasp 是類Google MegaStore & F1的分布式關(guān)系數(shù)據(jù)庫。
地址:https://github.com/alibaba/wasp
系統(tǒng)
1. 分布式文件系統(tǒng) FastDFS
FastDFS 是一個開源的分布式文件系統(tǒng),她對文件進(jìn)行管理,功能包括:文件存儲、文件同步、文件訪問(文件上傳、文件下載)等,解決了大容量存儲和負(fù)載均衡的問題。特別適合以文件為載體的在線服務(wù),如相冊網(wǎng)站、視頻網(wǎng)站等等。
地址:https://github.com/happyfish100/fastdfs
2. 消息中間件 Apache RocketMQ
RocketMQ 是一款分布式、隊(duì)列模型的消息中間件,具有以下特點(diǎn):
- 能夠保證嚴(yán)格的消息順序
- 提供豐富的消息拉取模式
- 高效的訂閱者水平擴(kuò)展能力
- 實(shí)時的消息訂閱機(jī)制
- 億級消息堆積能力
地址:https://github.com/apache/rocketmq/
3. 分布式 key/value 存儲系統(tǒng) Tair
Tair是一個Key/Value結(jié)構(gòu)數(shù)據(jù)的解決方案,它默認(rèn)支持基于內(nèi)存和文件的兩種存儲方式,分別和我們通常所說的緩存和持久化存儲對應(yīng)。
地址:https://github.com/alibaba/tair
4. 系統(tǒng)信息采集和監(jiān)控工具 Tsar
Tsar是淘寶的采集工具,主要用來收集服務(wù)器的系統(tǒng)信息(如cpu,io,mem,tcp等)以及應(yīng)用數(shù)據(jù)(如squid haproxy nginx等),tsar支持實(shí)時查看和歷史查看,方便了解應(yīng)用和服務(wù)器的信息!
地址:https://github.com/alibaba/tsar
5. 分布式消息中間件 Metamorphosis
91560100541c91d5c14aedad0031b44492cbc892
Metamorphosis (MetaQ) 是一個高性能、高可用、可擴(kuò)展的分布式消息中間件,類似于LinkedIn的Kafka,具有消息存儲順序?qū)?、吞吐量大和支持本地和XA事務(wù)等特性,適用于大吞吐量、順序消息、廣播和日志數(shù)據(jù)傳輸?shù)葓鼍啊?/p>
地址:https://github.com/killme2008/Metamorphosis
6. 淘寶Web服務(wù)器 Tengine
Tengine是由淘寶網(wǎng)發(fā)起的Web服務(wù)器項(xiàng)目。它在Nginx的基礎(chǔ)上,針對大訪問量網(wǎng)站的需求,添加了很多高級功能和特性。Tengine的性能和穩(wěn)定性已經(jīng)在大型的網(wǎng)站如淘寶網(wǎng),天貓商城等得到了很好的檢驗(yàn)。它的最終目標(biāo)是打造一個高效、穩(wěn)定、安全、易用的Web平臺。
地址:https://github.com/alibaba/tengine
7. 分布式文件系統(tǒng) TFS
TFS(Taobao FileSystem)是一個高可擴(kuò)展、高可用、高性能、面向互聯(lián)網(wǎng)服務(wù)的分布式文件系統(tǒng),其設(shè)計(jì)目標(biāo)是支持海量的非結(jié)構(gòu)化數(shù)據(jù)。
地址:https://github.com/alibaba/tfs
8. 異步任務(wù)處理系統(tǒng) TBSchedule
tbschedule 是一個簡潔的分布式任務(wù)調(diào)度引擎,目的是讓一種批量任務(wù)或者不斷變化的任務(wù),能夠被動態(tài)的分配到多個主機(jī)的JVM中,不同的線程組中并行執(zhí)行。所有的任務(wù)能夠被不重復(fù),不遺漏的快速處理。
地址:https://github.com/taobao/TBSchedule
9. 容器引擎 Pouch
04a2ed22d016dde2b1e2f1a75dd6773b9edcd6aa
Pouch 是一款輕量級的容器引擎,擁有快速高效、可移植性高、資源占用少等特性,主要幫助阿里更快的做到內(nèi)部業(yè)務(wù)的交付,同時提高超大規(guī)模下數(shù)據(jù)中心的物理資源利用率。
地址:https://github.com/alibaba/pouch
10. 在線分析查詢系統(tǒng) mdrill
mdrill是一個分布式的在線分析查詢系統(tǒng),基于hadoop,lucene,solr,jstorm等開源系統(tǒng)作為實(shí)現(xiàn),基于SQL的查詢語法。 mdrill是一個能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行分布式處理的軟件框架。mdrill是快速的高性能的,他的底層因使用了索引、列式存儲、以及內(nèi)存cache等技 術(shù),使得數(shù)據(jù)掃描的速度大為增加。mdrill是分布式的,它以并行的方式工作,通過并行處理加快處理速度。
地址:https://github.com/alibaba/mdrill
教程
1. 七天學(xué)會NodeJS文檔
七天學(xué)會 NodeJS 是阿里巴巴國際站前端技術(shù)部編寫的開源文檔,用于學(xué)習(xí) Node.js。
地址:https://github.com/nqdeng/7-days-nodejs
2. Nginx開發(fā)從入門到精通
nginx由于出色的性能,在世界范圍內(nèi)受到了越來越多人的關(guān)注,在淘寶內(nèi)部它更是被廣泛的使用,眾多的開發(fā)以及運(yùn)維同學(xué)都迫切的想要了解nginx模塊的開發(fā)以及它的內(nèi)部原理,但是國內(nèi)卻沒有一本關(guān)于這方面的書,源于此我們決定自己來寫一本。本書的作者為淘寶核心系統(tǒng)服務(wù)器平臺組的成員,本書寫作的思路是從模塊開發(fā)逐漸過渡到nginx原理剖析。
地址:https://github.com/taobao/nginx-book
以上為阿里巴巴重點(diǎn)開源項(xiàng)目的分享,希望對大家有所幫助!