Flume能否代替Canal實時同步Mysql的Binlog數據?

  • 零、不廢話先說結論

    • 1.Flume不能代替Canal實時同步Mysql的Binlog數據(內部機制不支持);

    • 2.Flume可以實現實時同步Mysql的數據(插件的方式);

    • 下面是具體的結論理由推斷;

  • 一、Canal在同步Mysql的Binary log的作用

    • 功能上看

      • 1.master將改變記錄到二進制日誌(binary log)中(這些記錄叫做二進制日誌事件,binary log events, 可以通過show binlog events進行查看);

      • 2.slave將master的binary log events 拷貝到它的中繼日誌(relay log);

      • 3.slave重做中繼日誌中的事件,將改變反應它自己的數據;

    • 工作原理

      • 1.canal模擬mysql slave的交互協議,僞裝自己爲mysql的slave,向mysql master 發送dump協議;

      • 2.mysql master收到dump請求,開始推送binary log給slave(也就是canal);

      • 3.canal解析binary log對象(原始爲byte流);

  • 二、Flume在同步數據的作用

    • Flume可以支持的source類型

    • 參考官方鏈接 

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