canal 1.1.2 釋出,阿里 MySQL Binlog 增量訂閱&消費元件
canal 1.1.2 已釋出,更新內容如下:
功能新增
-
支援mysql8.0的binlog解析 【SQL/">MySQL8%29" rel="nofollow,noindex" target="_blank">BinlogChange(MySQL8) 】
-
canal提供內建的客戶端能力【Adapter" rel="nofollow,noindex" target="_blank">ClientAdapter 】
-
同步到Rdb(支援mysql/pg/oracle/sqlserver)wiki
-
同步到ESwiki
-
目前adapter為支援更多常見的目標儲存,會處於快速迭代中,不同版本之間會有介面調整,請及時關注文件
功能重構
-
MQ訊息傳送的配置相關從mq.yml調整至canal.properties,支援了auto scan的能力,請關注最新的配置文件Canal-Kafka-RocketMQ-QuickStart" rel="nofollow,noindex" target="_blank">wiki
小需求&bugfix
-
修復mysql binlog檔名解析亂碼問題#1189
-
修復修復TableMeta TSDB在每天定時snapshot因filter變化導致失敗#1168
-
修復canal docker支援MQ模式啟動失敗問題#1087
-
修復TableMeta TSDB支援int display width不一致問題#1100
-
修復rocketmq&kafka 傳送訊息失敗時回滾後繼續提交的問題#1104
-
修復alter rename 的ddl 型別解析錯誤的問題#1103
-
修復FlatMessage 中data過濾掉了 value null的column#1120
-
優化aliyun rds oss binlog下載的能力,支援基於位點自動回溯#1076
canal 是阿里巴巴 MySQL 資料庫 Binlog 的增量訂閱&消費元件。
早期,阿里巴巴 B2B 公司因為存在杭州和美國雙機房部署,存在跨機房同步的業務需求。不過早期的資料庫同步業務,主要是基於 trigger 的方式獲取增量變更,不過從2010年開始,阿里系公司開始逐步的嘗試基於資料庫的日誌解析,獲取增量變更進行同步,由此衍生出了增量訂閱&消費的業務,從此開啟了一段新紀元。
ps. 目前內部版本已經支援 mysql 和 oracle 部分版本的日誌解析,當前的 canal 開源版本支援5.7及以下的版本(阿里內部 mysql 5.7.13, 5.6.10, mysql 5.5.18 和 5.1.40/48 )
基於日誌增量訂閱&消費支援的業務:
-
資料庫映象
-
資料庫實時備份
-
多級索引 (賣家和買家各自分庫索引)
-
search build
-
業務 cache 重新整理
-
價格變化等重要業務訊息