大數(shù)據(jù)總線平臺(tái)DBus設(shè)計(jì)思路與工作原理,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
成都一家集口碑和實(shí)力的網(wǎng)站建設(shè)服務(wù)商,擁有專(zhuān)業(yè)的企業(yè)建站團(tuán)隊(duì)和靠譜的建站技術(shù),10多年企業(yè)及個(gè)人網(wǎng)站建設(shè)經(jīng)驗(yàn) ,為成都1000+客戶提供網(wǎng)頁(yè)設(shè)計(jì)制作,網(wǎng)站開(kāi)發(fā),企業(yè)網(wǎng)站制作建設(shè)等服務(wù),包括成都營(yíng)銷(xiāo)型網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),同時(shí)也為不同行業(yè)的客戶提供網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)的服務(wù),包括成都電商型網(wǎng)站制作建設(shè),裝修行業(yè)網(wǎng)站制作建設(shè),傳統(tǒng)機(jī)械行業(yè)網(wǎng)站建設(shè),傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設(shè)。在成都做網(wǎng)站,選網(wǎng)站制作建設(shè)服務(wù)商就選創(chuàng)新互聯(lián)建站。企業(yè)中大量業(yè)務(wù)數(shù)據(jù)保存在各個(gè)業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫(kù)中,過(guò)去通常的同步數(shù)據(jù)的方法有很多種,比如:
各個(gè)數(shù)據(jù)使用方在業(yè)務(wù)低峰期各種抽取所需數(shù)據(jù)(缺點(diǎn)是存在重復(fù)抽取而且數(shù)據(jù)不一致)
由統(tǒng)一的數(shù)倉(cāng)平臺(tái)通過(guò)sqoop到各個(gè)系統(tǒng)中抽取數(shù)據(jù)(缺點(diǎn)是sqoop抽取方法時(shí)效性差,一般都是T+1的時(shí)效性)
基于trigger或時(shí)間戳的方式獲得增量的變更(缺點(diǎn)是對(duì)業(yè)務(wù)方侵入性大,帶來(lái)性能損失等)
這些方案都不能算完美,我們?cè)诹私夂涂紤]了不同實(shí)現(xiàn)方式后,認(rèn)為要想同時(shí)解決數(shù)據(jù)一致性和實(shí)時(shí)性,比較合理的方法應(yīng)該是基于日志的解決方案,同時(shí)能夠提供消息訂閱的方式給下游系統(tǒng)使用。
DBus(數(shù)據(jù)總線)項(xiàng)目就是應(yīng)這個(gè)需求而生的,DBus專(zhuān)注于數(shù)據(jù)的收集及實(shí)時(shí)數(shù)據(jù)流計(jì)算,通過(guò)簡(jiǎn)單靈活的配置,以無(wú)侵入的方式對(duì)源端數(shù)據(jù)進(jìn)行采集,采用高可用的流式計(jì)算框架,對(duì)公司各個(gè)IT系統(tǒng)在業(yè)務(wù)流程中產(chǎn)生的數(shù)據(jù)進(jìn)行匯聚,經(jīng)過(guò)轉(zhuǎn)換處理后成為統(tǒng)一JSON的數(shù)據(jù)格式(UMS),提供給不同數(shù)據(jù)使用方訂閱和消費(fèi),充當(dāng)數(shù)倉(cāng)平臺(tái)、大數(shù)據(jù)分析平臺(tái)、實(shí)時(shí)報(bào)表和實(shí)時(shí)營(yíng)銷(xiāo)等業(yè)務(wù)的數(shù)據(jù)源。
DBUS主要分為兩個(gè)部分:貼源數(shù)據(jù)采集和多租戶數(shù)據(jù)分發(fā)。兩個(gè)部分之間以Kafka為媒介進(jìn)行銜接。無(wú)多租戶資源、數(shù)據(jù)隔離需求的用戶,可以直接消費(fèi)源端數(shù)據(jù)采集這一級(jí)輸出到kafka的數(shù)據(jù),無(wú)需再配置多租戶數(shù)據(jù)分發(fā)。
DBUS源端數(shù)據(jù)采集大體來(lái)說(shuō)分為2部分:
讀取RDBMS增量日志的方式來(lái) 實(shí)時(shí)獲取增量數(shù)據(jù)日志,并支持全量拉取;
基于logtash,flume,filebeat等抓取工具來(lái)實(shí)時(shí)獲得數(shù)據(jù),以可視化的方式對(duì)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化輸出。
以下為具體實(shí)現(xiàn)原理
主要模塊如下:
日志抓取模塊:從RDBMS的備庫(kù)中讀取增量日志,并實(shí)時(shí)同步到kafka中;
增量轉(zhuǎn)換模塊:將增量數(shù)據(jù)實(shí)時(shí)轉(zhuǎn)換為UMS數(shù)據(jù),處理schema變更,脫敏等;
全量抽取程序:將全量數(shù)據(jù)從RDBMS備庫(kù)拉取并轉(zhuǎn)換為UMS數(shù)據(jù);
日志算子處理模塊:將來(lái)自不同抓取端的日志數(shù)據(jù)按照算子規(guī)則進(jìn)行結(jié)構(gòu)化處理;
心跳監(jiān)控模塊:對(duì)于RDMS類(lèi)源,定時(shí)向源端發(fā)送心跳數(shù)據(jù),并在末端進(jìn)行監(jiān)控,發(fā)送預(yù)警通知;對(duì)于日志類(lèi),直接在末端監(jiān)控預(yù)警。
web管理模塊:管理所有相關(guān)模塊。
對(duì)于不同租戶對(duì)不同源端數(shù)據(jù)有不同訪問(wèn)權(quán)限、脫敏需求的情形,需要引入Router分發(fā)模塊,將源端貼源數(shù)據(jù),根據(jù)配置好的權(quán)限、用戶有權(quán)獲取的源端表、不同脫敏規(guī)則等,分發(fā)到分配給租戶的Topic。這一級(jí)的引入,在DBUS管理系統(tǒng)中,涉及到用戶管理、Sink管理、資源分配、脫敏配置等。不同項(xiàng)目消費(fèi)分配給他的topic。
主要功能:
無(wú)侵入方式接入多種數(shù)據(jù)源: 業(yè)務(wù)系統(tǒng)無(wú)需任何修改,以無(wú)侵入性讀取數(shù)據(jù)庫(kù)系統(tǒng)的日志獲得增量數(shù)據(jù)實(shí)時(shí)變化。目前RDBMS支持mysql,oracle數(shù)據(jù)源(Oracle數(shù)據(jù)源請(qǐng)參考Oracle相關(guān)協(xié)議), 日志方面支持基于logstash,flume和filebeat的多種數(shù)據(jù)日志抽取方案。
海量數(shù)據(jù)實(shí)時(shí)傳輸: 使用基于Storm的流式計(jì)算框架,秒級(jí)延時(shí),整體無(wú)單點(diǎn)保證高可用性。
多租戶支持: 提供用戶管理、資源分配、Topology管理、租戶表管理等豐富的功能,可根據(jù)需求,為不同租戶分配不同的源端表數(shù)據(jù)訪問(wèn)權(quán)限,應(yīng)用不同的脫敏規(guī)則,從而實(shí)現(xiàn)多租戶資源隔離、差異化數(shù)據(jù)安全。
感知源端schema變更: 當(dāng)源端發(fā)生schema變更時(shí),能自動(dòng)感知schema變化,調(diào)整UMS版本號(hào),并通過(guò)Kafka消息和郵件通知下游
數(shù)據(jù)實(shí)時(shí)脫敏: 可根據(jù)需求對(duì)指定列數(shù)據(jù)進(jìn)行實(shí)時(shí)脫敏。脫敏策略包括:直接替換、MD5、murmur等脫敏算法,脫敏加鹽,正則表達(dá)式替換等。支持用戶開(kāi)發(fā)jar包實(shí)現(xiàn)DBUS未覆蓋的個(gè)性化脫敏策略。
初始化加載: 支持高效的初始化加載和重新加載,支持任意指定輸出topic,靈活應(yīng)對(duì)客戶需求。
統(tǒng)一標(biāo)準(zhǔn)化消息傳輸協(xié)議: 使用統(tǒng)一的UMS(JSON格式)消息schema格式輸出便于消費(fèi),提供數(shù)據(jù)線級(jí)ums_id保證數(shù)據(jù)順序性,輸出insert,Update(before/after),Delete event數(shù)據(jù)。
可靠多路消息訂閱分發(fā): 使用Kafka存儲(chǔ)和傳遞消息保證可靠性和便捷的多用戶訂閱
支持分區(qū)表/系列表數(shù)據(jù)匯集: 支持分區(qū)表的數(shù)據(jù)匯集到一個(gè)“邏輯表” 。也可將用戶自定義的系列表數(shù)據(jù)匯集到一個(gè)“邏輯表“。例:
實(shí)時(shí)監(jiān)控&預(yù)警: 可視化監(jiān)控系統(tǒng)能隨時(shí)查看各數(shù)據(jù)線實(shí)時(shí)流量和延時(shí)狀況;當(dāng)數(shù)據(jù)線發(fā)生異常時(shí),根據(jù)配置策略自動(dòng)發(fā)郵件或短信通知相關(guān)負(fù)責(zé)人
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。
當(dāng)前標(biāo)題:大數(shù)據(jù)總線平臺(tái)DBus設(shè)計(jì)思路與工作原理-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://aaarwkj.com/article26/gogjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、外貿(mào)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、小程序開(kāi)發(fā)、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容