一文速覽滴滴40+開源項目 !厲害了!
點擊上方 藍字 關注我們!
Java,Python,C/C++,Linux,PHP,Go,C#,QT,大數(shù)據(jù),算法,軟件教程,前端,簡歷,畢業(yè)設計等分類,資源在不斷更新中... 點擊領取!


滴滴開源的三年時間里,在滴滴高級副總裁、開源委員會主席章文嵩博士的倡導下,秉持「擁抱開放、合作共贏、創(chuàng)造價值」的理念。滴滴積極參與業(yè)界的開源項目,并不斷對外輸出內(nèi)部的優(yōu)秀項目。自2017年6月30日,滴滴首個開源項目VirtualAPK發(fā)布起,滴滴已發(fā)布了40+個項目,獲得了 6.3W star,在社區(qū)獲得了良好反響。今天帶大家速覽滴滴的40+開源項目。(按首字母先后排序)
Guide哥推薦可以重點關注下面這幾個項目:
Logi-KafkaManager :一站式Apache Kafka集群指標監(jiān)控與運維管控平臺 DoraemonKit :一款功能齊全的客戶端( iOS 、Android、微信小程序、Flutter )研發(fā)助手,你值得擁有。 Tinyid : Tinyid是用Java開發(fā)的一款分布式id生成系統(tǒng),基于數(shù)據(jù)庫號段算法實現(xiàn)。

項目地址:https://github.com/didi/delta
項目地址:https://github.com/didi/dlflow
項目地址:https://github.com/didi/hetsann
項目地址:https://github.com/didi/maskdetection
項目地址:https://github.com/sql-machine-learning/sqlflow

項目地址:https://github.com/didi/ALITA
項目地址:https://github.com/didi/mtmc-vt
項目地址:https://github.com/didi/TrafficIndex

項目地址:https://github.com/didi/booster
項目地址:https://github.com/didi/DDMQ
項目地址:https://github.com/didi/go-spring
4.
大數(shù)據(jù)

▍ES-Fastloader
ES-Fastloader是一種能夠快速地為海量離線數(shù)據(jù)生成索引的方案,采用了一種Build & Push的機制,利用Hadoop強大的并行計算能力,可在1-2小時內(nèi)極快速構(gòu)建幾十TB級的數(shù)據(jù),解決海量數(shù)據(jù)構(gòu)建ES時,索引文件構(gòu)建時效低的問題。
項目地址:https://github.com/didi/ES-Fastloader
▍Levin
Levin是針對低頻更新、靜態(tài)使用、大規(guī)模數(shù)據(jù)的快速加載解決方案。Levin實現(xiàn)了一套使用在shm共享內(nèi)存片段上的STL-like容器,高效托管大規(guī)模靜態(tài)數(shù)據(jù),加速大內(nèi)存服務冷啟動和熱加載。具備簡單易用、效率高、性能好、內(nèi)存省的優(yōu)點。
項目地址:https://github.com/didi/levin
5.
運維監(jiān)控

▍Elastic-trib
Elastic-trib是一個Elasticsearch集群管理命令行工具,用于管理公司內(nèi)部30多個Elasticsearch集群,方便用于集成到shell腳本及通過命令行終端對集群進行管控。
項目地址:https://github.com/ didi/elastic-trib
▍falcon-log-agent
falcon-log-agent是一個開源版的日志采集工具,旨在從流式的日志中抓取、統(tǒng)計日志中的特征信息。獲取的特征信息,與開源版Open-Falcon監(jiān)控系統(tǒng)打通。可用于業(yè)務指標的衡量、也可用于穩(wěn)定性的建設。
項目地址:https://github.com/didi/falcon-log-agent
▍Kafka-Manager
一站式Apache Kafka集群指標監(jiān)控與運維管控平臺。
項目地址:https://github.com/didi/kafka-manager
備注:項目目前已經(jīng)改名為 Logi-KafkaManager
▍Nightingale
夜鶯(Nightingale)是滴滴基礎平臺聯(lián)合滴滴云研發(fā)和開源的企業(yè)級監(jiān)控解決方案。旨在滿足云原生時代企業(yè)級的監(jiān)控需求。Nightingale 在產(chǎn)品完成度、系統(tǒng)高可用、以及用戶體驗方面,達到了企業(yè)級的要求,可滿足不同規(guī)模用戶的場景,小到幾臺機器,大到數(shù)十萬都可以完美支撐。兼顧云原生和裸金屬,支持應用監(jiān)控和系統(tǒng)監(jiān)控,插件機制靈活,插件豐富完善,具有高度的靈活性和可擴展性。
項目地址:https://github.com/didi/nightingale
▍sqt
此進程在滴滴云上用于管理機器上面的其他agent,比如監(jiān)控的agent、安全的agent,管理主要是:安裝、升級、卸載、查看啟動狀態(tài),不做其他事情。省去客戶手工安裝其他agent的工作。
項目地址:https://github.com/didi/sgt
6.
小程序

▍Chameleon
cml作為真正讓一套代碼運行多端的框架,提供標準的 MVVM 模式,統(tǒng)一開發(fā)各類終端。同時,擁有各端獨立的運行時框架 (runtime)、數(shù)據(jù)管理 (store)、組件庫 (ui)、接口 (api)。此外,cml在跨端能力加強、能力統(tǒng)一、表現(xiàn)一致等方面做了許多工作。
項目地址:https://github.com/didi/chameleon
▍Mpx
Mpx是一款致力于提高小程序開發(fā)體驗和開發(fā)效率的增強型小程序框架,通過Mpx,我們能夠高效優(yōu)雅地開發(fā)出具有極致性能的優(yōu)質(zhì)小程序應用,并將其輸出到各大小程序平臺和web平臺中運行。
項目地址:https://github.com/didi/mpx
7.
移動開發(fā)

▍Echo
Echo是一款簡單易用、插件化易擴展、大屏顯示和操作的調(diào)試工具,旨在提高移動端的研發(fā)調(diào)試效率。基于現(xiàn)有的一些問題和團隊需求,我們開發(fā)了一款桌面端的調(diào)試工具Echo,它可以幫助我們實時查看App各類數(shù)據(jù)(網(wǎng)絡請求、日志、埋點等),也可以無須改動代碼快速修改調(diào)試App的UI效果,提高我們的開發(fā)調(diào)試效率。
項目地址:https://github.com/didi/echo
▍DoraemonKit
簡稱DoKit,中文名哆啦A夢,意味著能夠像哆啦A夢一樣提供給他的主人各種各樣的工具。是一款功能齊全的客戶端( iOS 、Android )研發(fā)助手。能夠讓每一個 App 快速接入一些常用的或者你沒有實現(xiàn)的一些輔助開發(fā)工具、測試效率工具、視覺輔助工具,而且能夠完美在 Doraemon 面板中接入你已經(jīng)實現(xiàn)的與業(yè)務緊密耦合的一些非通用的輔助工具,并搭配我們的dokit平臺,讓功能得到延伸,接入方便,便于擴展。
項目地址:https://github.com/didi/DoraemonKit
▍DroidAssist
DroidAssist 是一個輕量級的 Android 字節(jié)碼編輯插件,通過在 xml 進行簡單的配置即可實現(xiàn)對 class 文件進行動態(tài)修改。
項目地址:https://github.com/didichuxing/DroidAssist
▍VirtualAPK
VirtualAPK是滴滴出行自研的一款優(yōu)秀的插件化框架,通過將業(yè)務模塊插件化,可隨時更新插件來發(fā)布新功能,具備版本隨時發(fā)布的能力。該款插件化框架可幫助企業(yè)隨時通過更新插件的方式來發(fā)布新功能,包括修復嚴重Crash或進行業(yè)務“試錯”,擁有功能完備、基本無入侵、插件可輕松訪問宿主代碼和資源、高兼容性這四大核心優(yōu)勢。
項目地址:https://github.com/didi/VirtualAPK
8.
系統(tǒng)工具

▍Collection
Collection包目標是用于替換golang原生的Slice,使用場景是在大量不追求極致性能,追求業(yè)務開發(fā)效能的場景。Collection包目前支持的元素類型:int, int64, float32, float64, string, struct。
項目地址:https://github.com/didi/collection
▍GateKeeper
GateKeeper 是一個使用 Go (golang) 編寫的不依賴分布式數(shù)據(jù)庫的 API 網(wǎng)關, 使用它可以高效進行服務代理 以及 在線化服務配置并且你無需重啟服務器。
項目地址:https://github.com/didi/gatekeeper
▍Gendry
Gendry是一個用于輔助操作數(shù)據(jù)庫的Go包。基于go-sql-driver/mysql,它提供了一系列的方法來為你調(diào)用標準庫database/sql中的方法準備參數(shù)。
項目地址:https://github.com/didi/gendry
▍JuShaTa
JuShaTa是一個Java容器,提供模塊隔離及模塊熱加載能力。我們提供了一個類似于Tomcat的Java容器JuShaTa,在JuShaTa容器中每個SpringBoot服務都是一個獨立的模塊。通過自定義ClassLoader,不同模塊使用不同的ClassLoader進行加載,解決jar包沖突;使用Spring Context進行上下文隔離,每個模塊對應一個Context,解決bean沖突。
項目地址:https://github.com/didi/JuShaTa
▍Kemon
一個用于macOS內(nèi)核監(jiān)視的基于開源前后回調(diào)的框架。kemon是一個基于macOS的內(nèi)核監(jiān)控框架,在Windows上內(nèi)核監(jiān)控有很好的基礎,但在Mac上還沒有一個較成熟的hook框架,去跟蹤更多的進程內(nèi)核事件的產(chǎn)生。Kemon進一步完善,為macOS的內(nèi)核安全性的提高作出應有的貢獻。
項目地址:https://github.com/didi/kemon
▍SDS
SDS(即 Service Downgrade System)是一個輕量級、簡單、易用的限流、熔斷、降級系統(tǒng),能讓Java應用做到自動限流、熔斷和快速恢復,提升應用整體的“彈性”?,F(xiàn)在服務端通過采用流行的微服務架構(gòu)來應對錯綜復雜的大流量場景,并能在業(yè)務高速發(fā)展時仍然能做到較強的快速迭代能力和可擴展性。微服務架構(gòu)并不是將整個系統(tǒng)變得更簡單,相反,微服務架構(gòu)的管理難度高于普通的集中式架構(gòu),所以,如何保證系統(tǒng)的每個節(jié)點在錯綜復雜的環(huán)境下能穩(wěn)定提供服務,需要借助工具來讓服務節(jié)點能抵擋流量沖擊、熔斷依賴壞點。
項目地址:https://github.com/didi/sds
▍Tinyid
Tinyid是用Java開發(fā)的一款分布式id生成系統(tǒng),基于數(shù)據(jù)庫號段算法實現(xiàn),關于這個算法可以參考美團leaf或者tinyid原理介紹。Tinyid擴展了leaf-segment算法,支持了多db(master),同時提供了java-client(sdk)使id生成本地化,獲得了更好的性能與可用性。Tinyid在滴滴客服部門使用,均通過tinyid-client方式接入,每天生成億級別的id。
項目地址:https://github.com/didi/tinyid
9.
前端

▍cube-ui
應用Vue構(gòu)建的的出色移動端ui庫工具。該技術(shù)擁有質(zhì)量可靠、體驗極致、標準規(guī)范和強擴展性這四大特點,并擁有獨特的后編譯技術(shù)方案幫助大幅優(yōu)化性能。cube-ui 的目標是讓移動端的開發(fā)更容易,讓開發(fā)人員更加專注于業(yè)務邏輯的開發(fā),提升研發(fā)效率。
項目地址:https://github.com/didi/cube-ui
▍di18n
di18n 是一個自動轉(zhuǎn)換、基于配置的前端國際化方案。它能自動掃描代碼中的中文文案,將其替換成國際化標記;同時將語言抽取成配置,可以放到服務端保存及更新。
項目地址:https://github.com/didi/di18n
▍Epage
Epage是一款基于schema的可視化頁面配置工具。由工單系統(tǒng)流程表單場景抽象而來,升級成為支持跨框架、組件庫渲染、可定制的通用頁面配置工具。常用于流程表單、中后臺頁面配置。
項目地址:https://github.com/didi/epage
▍Mand Mobile
Mand Mobile提供了30+的實用組件,能夠滿足移動端頁面開發(fā)中的大部分需求。其中的業(yè)務類組件還針對金融領域,提取了包括圖表、數(shù)字鍵盤等,從而更好地滿足相關產(chǎn)品的開發(fā)需要。
項目地址:https://github.com/didi/mand-mobile
▍Mand Mobile-RN
Mand Mobile RN 是 Mand Mobile for React Native 的簡稱。作為 Mand Mobile 系列的React Native 組件庫,在聚焦金融場景的同時,還提供了一些在 RN 項目中特有的組件和解決方案,皆在提升跨端項目的開發(fā)效率和UI體驗。
項目地址:https://github.com/didi/mand-mobile-rn
▍Pile.js
使用React構(gòu)建的輕量級移動組件庫。設計、前端高效協(xié)同,快速搭建移動端組件庫。
項目地址:https://github.com/didi/pile.js
▍Tips
Tips是一個靜態(tài)文案管理平臺。用于修改Web頁面的靜態(tài)文案,支持文案國際化,并提供提示信息的UI展示。它的目的是解決前端開發(fā)者頻繁的靜態(tài)文案修改問題,避免因為簡單的文案修改而發(fā)起復雜的上線流程。
項目地址:https://github.com/didi/Tips
10.
研發(fā)測試

▍benchmark-thrift
benchmark-thrift是一款測試Thrift應用程序性能的工具,開箱即用,高效簡單。
項目地址:https://github.com/didi/benchmark-thrift
▍Rdebug
Rdebug 是滴滴開源的一款用于 RD 研發(fā)、自測、調(diào)試的實用工具,可以被用來提升 RD 研發(fā)效率、保障代碼質(zhì)量進而減少線上事故。
項目地址:https://github.com/didi/rdebug
▍Sharingan
Sharingan是一個基于golang的流量錄制回放工具,錄制線上真實請求流量進行回放測試,適合項目重構(gòu)、回歸測試等。隨著微服務架構(gòu)的興起,服務之間的依賴關系變的越來越復雜,系統(tǒng)升級頻繁導致維護測試用例成本高,依賴下游眾多也很難提供穩(wěn)定的測試環(huán)境,為此,我們開發(fā)這套工具來緩解上述問題。
項目地址:https://github.com/didi/sharingan
▍thrift-mock
thrift-mock是一款輕量級的Java測試工具,用來模擬thrift服務。通過它可以輕松的將依賴的thrift服務接口進行mock,獲得指定的接口返回,從而極大的提升了聯(lián)調(diào)、測試階段的開發(fā)效率。
項目地址:https://github.com/didi/thrift-mock
往期推薦

END
若覺得文章對你有幫助,隨手轉(zhuǎn)發(fā)分享,也是我們繼續(xù)更新的動力。
長按二維碼,掃掃關注哦
?「C語言中文網(wǎng)」官方公眾號,關注手機閱讀教程 ?
目前收集的資料包括: Java,Python,C/C++,Linux,PHP,go,C#,QT,git/svn,人工智能,大數(shù)據(jù),單片機,算法,小程序,易語言,安卓,ios,PPT,軟件教程,前端,軟件測試,簡歷,畢業(yè)設計,公開課 等分類,資源在不斷更新中...

