【滴滴開源】六大企業級項目!


點擊卡片,關注我們

Nightingale - 企業級監控解決方案

夜鶯(Nightingale)是一個企業級監控解決方案。旨在滿足雲原生時代企業級的監控需求。Nightingale 在產品完成度、系統高可用、以及用戶體驗方面,達到了企業級的要求,可滿足不同規模用戶的場景,小到幾臺服務,大到數十萬都可以完美支撐。兼顧雲原生和裸金屬,支持應用監控和系統監控,插件機制靈活,插件豐富完善,具有高度的靈活性和可擴展性。

Nightingale 在 Open-Falcon 的基礎上,結合滴滴內部的最佳實踐,在性能、可維護性、易用性方面做了大量的改進,作爲集團統一的監控解決方案,支撐了滴滴內部數十億監控指標,覆蓋了從系統、容器、到應用等各層面的監控需求,周活躍用戶數千。

開源地址:https://n9e.didiyun.com/

tinyid - 分佈式id生成系統

tinyid 是滴滴開發的 id 生成器 分佈式id生成系統,簡單易用、高性能、高可用的id生成系統。

提供的 REST API:

nextId:
curl 'http://localhost:9999/tinyid/id/nextId?bizType=test&token=0f673adf80504e2eaa552f5d791b644c'response:{"data":[2],"code":200,"message":""}

nextId Simple:
curl 'http://localhost:9999/tinyid/id/nextIdSimple?bizType=test&token=0f673adf80504e2eaa552f5d791b644c'response: 3

with batchSize:
curl 'http://localhost:9999/tinyid/id/nextIdSimple?bizType=test&token=0f673adf80504e2eaa552f5d791b644c&batchSize=10'response: 4,5,6,7,8,9,10,11,12,13

Get nextId like 1,3,5,7,9...bizType=test_odd : delta is 2 and remainder is 1
curl 'http://localhost:9999/tinyid/id/nextIdSimple?bizType=test_odd&batchSize=10&token=0f673adf80504e2eaa552f5d791b644c'response: 3,5,7,9,11,13,15,17,19,21

開源地址:https://gitee.com/didiopensource/tinyid

Chameleon - 滴滴跨端解決方案

研發同學在端內既追求 H5 的靈活性,也要追求性能趨近於原生。面對入口擴張,主端、獨立端、微信小程序、支付寶小程序、百度小程序、安卓廠商聯盟快應用,單一功能在各平臺都要重複實現,開發和維護成本成倍增加。迫切需要維護一套代碼可以構建多入口的解決方案,歷經近 20 個月打磨,滴滴跨端解決方案 Chameleon 終於發佈。真正專注於讓一套代碼運行多端。

軟件架構設計裏面最基礎的概念“拆分”和“合併”,拆分的意義是“分而治之”,將複雜問題拆分成單一問題解決,比如後端業務系統的”微服務化“設計;“合併”的意義是將同樣的業務需求抽象收斂到一塊,達成高效率高質量的目的,例如後端業務系統中的“中臺服務”設計。

而 Chameleon 屬於後者,通過定義統一的語言框架統一多態協議,從多端(對應多個獨立服務)業務中抽離出自成體系、連續性強、可維護強的“前端中臺服務”。

開源地址:https://gitee.com/didiopensource/chameleon

Mpx - 小程序開發框架

Mpx 是滴滴開源的一款致力於提高小程序開發體驗的增強型小程序框架,通過 Mpx ,我們能夠最先進的 web 開發體驗 (Vue + Webpack) 來開發生產性能深度優化的小程序,Mpx 具有以下一些優秀特性:

數據響應特性 (watch/computed)

增強的模板語法(動態組件/樣式綁定/類名綁定/內聯事件函數/雙向綁定等)

深度性能優化(原生自定義組件/基於依賴收集和數據變化的 setData)

Webpack 編譯 ( npm/循環依賴/Babel/ESLint/css 預編譯/代碼優化等)

單文件組件開發

狀態管理 (Vuex 規範/多實例/可合併)

跨團隊合作 (packages)

邏輯複用能力 (mixins)

腳手架支持

小程序自身規範的完全支持

支付寶小程序的支持

開源地址:https://gitee.com/didiopensource/mpx

RDebug - 基於真實流量的研發調試利器

RDebug  是滴滴開源的一款用於 RD 研發、自測、調試的實用工具,可以被用來提升 RD 研發效率、保障代碼質量進而減少線上事故。

適用場景

適用於對已有接口進行代碼重構、功能升級,且該接口已經有錄製的流量。

不適合新開發的接口 或 未進行流量錄製的接口。

支持新接口的方案在調研中。

技術方案

因爲我們需要使用線上的真實流量來進行線下的回放測試,所以我們需要將線上的真實流量保存下來,然後將保存的真實流量在線下環境進行回放一遍。故 Rdebug 的核心技術方案就是 流量錄製和流量回放

流量錄製: 即錄製線上服務的真實請求,包括調用下游服務的 RPC 請求。流量錄製的難點在於如何將上下游請求以及每次 RPC 的請求/響應一一對應。

流量回放: 即用線上錄製的流量,對線下測試代碼進行回放,通過流量匹配 mock 掉下游 RPC 請求。因此,流量回放的難點在於請求的攔截和匹配。

整體架構圖:

開源地址:https://github.com/didi/rdebug

DDMQ - 基於 RocketMQ 的分佈式消息隊列

DDMQ 是滴滴出行架構部基於 Apache RocketMQ 構建的消息隊列產品。作爲分佈式消息中間件,DDMQ 爲滴滴出行各個業務線提供了低延遲、高併發、高可用、高可靠的消息服務。DDMQ 提供了包括實時消息、延遲消息和事務消息在內的多種消息類型以滿足不同的業務需求。用戶通過統一的 Web 控制檯和傻瓜式的 SDK 即可輕鬆接入 DDMQ 生產和消費消息,體驗功能豐富、穩定的消息服務。

開源地址:https://gitee.com/didiopensource/DDMQ

歡迎分享轉發,有幫助的話點個“在看”

本文分享自微信公衆號 - 俠夢的開發筆記(xmdevnote)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章