1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        頭條二面:你們公司怎么處理 MySQL 的 Binlog 日志?

        共 1792字,需瀏覽 4分鐘

         ·

        2021-03-31 11:38

        點擊上方“藍(lán)色字體”,選擇“設(shè)為星標(biāo)”

        做積極的人,而不是積極廢人!

        來源:blog.csdn.net/weixin_38071106/

        Canal

        定位:基于數(shù)據(jù)庫增量日志解析,提供增量數(shù)據(jù)訂閱&消費(fèi),目前主要支持了mysql。

        原理:

        • canal模擬mysql slave的交互協(xié)議,偽裝自己為mysql slave,向mysql master發(fā)送dump協(xié)議
        • mysql master收到dump請求,開始推送binary log給slave(也就是canal)
        • canal解析binary log對象(原始為byte流)
        圖片
        圖片

        整個parser過程大致可分為幾步:

        • Connection獲取上一次解析成功的位置(如果第一次啟動,則獲取初始制定的位置或者是當(dāng)前數(shù)據(jù)庫的binlog位點)
        • Connection建立連接,發(fā)生BINLOG_DUMP命令
        • Mysql開始推送Binary Log
        • 接收到的Binary Log通過Binlog parser進(jìn)行協(xié)議解析,補(bǔ)充一些特定信息
        • 傳遞給EventSink模塊進(jìn)行數(shù)據(jù)存儲,是一個阻塞操作,直到存儲成功
        • 存儲成功后,定時記錄Binary Log位置
        圖片
        • 數(shù)據(jù)過濾:支持通配符的過濾模式,表名,字段內(nèi)容等
        • 數(shù)據(jù)路由/分發(fā):解決1:n (1個parser對應(yīng)多個store的模式)
        • 數(shù)據(jù)歸并:解決n:1 (多個parser對應(yīng)1個store)
        • 數(shù)據(jù)加工:在進(jìn)入store之前進(jìn)行額外的處理,比如join

        Maxwell

        圖片

        canal 由Java開發(fā),分為服務(wù)端和客戶端,擁有眾多的衍生應(yīng)用,性能穩(wěn)定,功能強(qiáng)大;canal 需要自己編寫客戶端來消費(fèi)canal解析到的數(shù)據(jù)。

        maxwell相對于canal的優(yōu)勢是使用簡單,它直接將數(shù)據(jù)變更輸出為json字符串,不需要再編寫客戶端。

        Databus

        Databus是一種低延遲變化捕獲系統(tǒng),已成為LinkedIn數(shù)據(jù)處理管道不可或缺的一部分。Databus解決了可靠捕獲,流動和處理主要數(shù)據(jù)更改的基本要求。Databus提供以下功能:

        • 源與消費(fèi)者之間的隔離
        • 保證按順序和至少一次交付具有高可用性
        • 從更改流中的任意時間點開始消耗,包括整個數(shù)據(jù)的完全引導(dǎo)功能。
        • 分區(qū)消費(fèi)
        • 源一致性保存
        圖片

        阿里云的數(shù)據(jù)傳輸服務(wù)DTS

        數(shù)據(jù)傳輸服務(wù)(Data Transmission Service,簡稱DTS)是阿里云提供的一種支持 RDBMS(關(guān)系型數(shù)據(jù)庫)、NoSQL、OLAP 等多種數(shù)據(jù)源之間數(shù)據(jù)交互的數(shù)據(jù)流服務(wù)。DTS提供了數(shù)據(jù)遷移、實時數(shù)據(jù)訂閱及數(shù)據(jù)實時同步等多種數(shù)據(jù)傳輸能力,可實現(xiàn)不停服數(shù)據(jù)遷移、數(shù)據(jù)異地災(zāi)備、異地多活(單元化)、跨境數(shù)據(jù)同步、實時數(shù)據(jù)倉庫、查詢報表分流、緩存更新、異步消息通知等多種業(yè)務(wù)應(yīng)用場景,助您構(gòu)建高安全、可擴(kuò)展、高可用的數(shù)據(jù)架構(gòu)。

        優(yōu)勢:數(shù)據(jù)傳輸(Data Transmission)服務(wù) DTS 支持 RDBMS、NoSQL、OLAP 等多種數(shù)據(jù)源間的數(shù)據(jù)傳輸。它提供了數(shù)據(jù)遷移、實時數(shù)據(jù)訂閱及數(shù)據(jù)實時同步等多種數(shù)據(jù)傳輸方式。相對于第三方數(shù)據(jù)流工具,數(shù)據(jù)傳輸服務(wù) DTS 提供更豐富多樣、高性能、高安全可靠的傳輸鏈路,同時它提供了諸多便利功能,極大得方便了傳輸鏈路的創(chuàng)建及管理。

        個人理解:就是一個消息隊列,會給你推送它包裝過的sql對象,可以自己做個服務(wù)去解析這些sql對象。

        免去部署維護(hù)的昂貴使用成本。DTS針對阿里云RDS(在線關(guān)系型數(shù)據(jù)庫)、DRDS等產(chǎn)品進(jìn)行了適配,解決了Binlog日志回收,主備切換、VPC網(wǎng)絡(luò)切換等場景下的訂閱高可用問題。同時,針對RDS進(jìn)行了針對性的性能優(yōu)化。出于穩(wěn)定性、性能及成本的考慮,推薦使用。

        - end -


        用心分享面試知識,做有溫度的攻城獅

        每天記得對自己說:你是最棒的!


        往期推薦:

        每一個“好看”,都是對我們最大的幫助
        瀏覽 28
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            成人色图视频 | 香蕉久久夜色精品国产使用方法 | 曰韩不卡视频 | 少妇被邻居老头疯狂蹂躏 | 女人张开腿涩涩动漫 | www.色擼擼.com | 亚洲精品Av天堂一区二区 | 大黑鸡吧操逼视频 | 国产三级理论在线观看 | 黄色小说集 |