數(shù)據(jù)可觀測(cè)性-架構(gòu)設(shè)計(jì)

整體架構(gòu)

Datavines [github] 是一個(gè)數(shù)據(jù)可觀測(cè)性系統(tǒng),旨在幫助企業(yè)減少“數(shù)據(jù)宕機(jī)時(shí)間”,幫助企業(yè)能夠在數(shù)據(jù)錯(cuò)誤導(dǎo)致?lián)p失之前及時(shí)發(fā)現(xiàn)數(shù)據(jù)錯(cuò)誤,它具有數(shù)據(jù)目錄管理、數(shù)據(jù)質(zhì)量監(jiān)控和SLAs等功能。下面是它的架構(gòu)設(shè)計(jì)圖:

DataVines架構(gòu)圖.png

DatavinesServer 服務(wù)采用無(wú)中心化設(shè)計(jì),支持水平無(wú)限擴(kuò)容。主要負(fù)責(zé)對(duì)外提供API、調(diào)度各種數(shù)據(jù)監(jiān)控任務(wù)并執(zhí)行。

組件詳解

CatalogManager

主要功能

  • Api 服務(wù)
  • 數(shù)據(jù)源管理
    • 數(shù)據(jù)源的元數(shù)據(jù)管理
  • 數(shù)據(jù)質(zhì)量管理
    • 數(shù)據(jù)質(zhì)量檢查作業(yè)調(diào)度和執(zhí)行
    • 檢查規(guī)則管理
    • 質(zhì)量檢查管理
  • SLAs 管理
  • 錯(cuò)誤數(shù)據(jù)管理

高可用設(shè)計(jì)

  • DatavinesServer采用無(wú)中心化設(shè)計(jì),支持動(dòng)態(tài)增容擴(kuò)展。集群中所有節(jié)點(diǎn)都能對(duì)外提供服務(wù),節(jié)點(diǎn)之間通過(guò)競(jìng)爭(zhēng)分布式鎖獲取Job來(lái)進(jìn)行調(diào)度和執(zhí)行

MetaDataServer

MetaDataServer是元數(shù)據(jù)管理中心,主要負(fù)責(zé)數(shù)據(jù)目錄,元數(shù)據(jù)模型、元數(shù)據(jù)存儲(chǔ)、查詢等元數(shù)據(jù)相關(guān)的功能。

MetaDataCrawler

MetaDataCrawler 主要負(fù)責(zé)定時(shí)去抓取指定數(shù)據(jù)源的元數(shù)據(jù)信息,然后更新到元數(shù)據(jù)存儲(chǔ)引擎中

NotificationServer

NotificationServer主要負(fù)責(zé)告警,用戶在平臺(tái)上配置告警規(guī)則,一旦數(shù)據(jù)監(jiān)控任務(wù)觸發(fā)告警,那么NotificationServer就會(huì)將報(bào)錯(cuò)信息發(fā)送到指定的平臺(tái)上,例如郵箱,企業(yè)微信等

核心設(shè)計(jì)

插件化設(shè)計(jì)

Connector插件化設(shè)計(jì)

  • Connector模塊中定義了包括不僅限于連接參數(shù)相關(guān)、元數(shù)據(jù)信息獲取相關(guān)、數(shù)據(jù)源執(zhí)行腳本相關(guān)等接口,用于實(shí)現(xiàn)連接數(shù)據(jù)源、獲取元數(shù)據(jù)信息以及執(zhí)行相應(yīng)腳本等功能。
  • 插件化設(shè)計(jì)允許用戶實(shí)現(xiàn)Connector模塊的相應(yīng)接口來(lái)實(shí)現(xiàn)添加自定義數(shù)據(jù)源

Metric插件化設(shè)計(jì)

  • Metric是平臺(tái)中非常重要的組成部分,主要用在各種數(shù)據(jù)監(jiān)控任務(wù)中,Metric的豐富性使得平臺(tái)的監(jiān)控和檢查手段更加豐富。本平臺(tái)會(huì)內(nèi)置多種Metric讓用戶可以開(kāi)箱即用,同時(shí)也支持用戶實(shí)現(xiàn)Metric相關(guān)接口來(lái)新增用戶個(gè)性化的Metric。

Engine插件化設(shè)計(jì)

  • Engine是平臺(tái)核心組成部分,是定義數(shù)據(jù)監(jiān)控任務(wù)在計(jì)算引擎中的執(zhí)行邏輯,不同的Engine對(duì)應(yīng)不同的執(zhí)行引擎,例如Spark、Flink、Presto等。執(zhí)行邏輯主要由Sources、Transformers和Sinks組成,由Source來(lái)執(zhí)行數(shù)據(jù)源的連接和數(shù)據(jù)讀取,由Transformer來(lái)執(zhí)行各種聚合統(tǒng)計(jì)處理,由Sink來(lái)執(zhí)行執(zhí)行結(jié)果的輸出。不同的計(jì)算引擎實(shí)現(xiàn)方式有所不同,但是核心的流程就是讀取數(shù)據(jù),執(zhí)行統(tǒng)計(jì)和輸出數(shù)據(jù)。插件化設(shè)計(jì)允許用戶自定義Engine來(lái)增加新的計(jì)算引擎。

流程設(shè)計(jì)

任務(wù)執(zhí)行流程

任務(wù)執(zhí)行流程

數(shù)據(jù)監(jiān)控參數(shù)生成流程

參數(shù)的構(gòu)造和轉(zhuǎn)換流程

未完待續(xù)。。。

加入我們

Datavines 的目標(biāo)是成為更好的數(shù)據(jù)可觀測(cè)性領(lǐng)域的開(kāi)源項(xiàng)目,為更多的用戶去解決元數(shù)據(jù)管理和數(shù)據(jù)質(zhì)量管理中遇到的問(wèn)題。在此我們真誠(chéng)歡迎更多的貢獻(xiàn)者參與到社區(qū)建設(shè)中來(lái),和我們一起成長(zhǎng),攜手共建更好的社區(qū)。

關(guān)于Datavane

Datavane是一個(gè)專注于大數(shù)據(jù)領(lǐng)域的開(kāi)源組織(社區(qū)),由一群大數(shù)據(jù)領(lǐng)域優(yōu)秀的開(kāi)源項(xiàng)目作者共同創(chuàng)建,旨在幫助開(kāi)源項(xiàng)目作者更好的建設(shè)項(xiàng)目、為大眾提供高質(zhì)量的開(kāi)源軟件,宗旨是:只為做一個(gè)好軟件。目前已經(jīng)聚集了一批優(yōu)質(zhì)的開(kāi)源項(xiàng)目,涉及到數(shù)據(jù)集成、大數(shù)據(jù)組件管理、數(shù)據(jù)質(zhì)量等。

Datavane 社區(qū)中,所有的項(xiàng)目都是開(kāi)源開(kāi)放的,代碼質(zhì)量和架構(gòu)設(shè)計(jì)優(yōu)質(zhì)的潛力項(xiàng)目。社區(qū)保持開(kāi)放中立、協(xié)作創(chuàng)造、堅(jiān)持精品,鼓勵(lì)所有的開(kāi)發(fā)者、用戶和貢獻(xiàn)者積極參與我們的社區(qū)、共同合作,創(chuàng)新創(chuàng)造,建設(shè)一個(gè)更加強(qiáng)大的開(kāi)源社區(qū)。

Github: https://github.com/datavane

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容