canal 常用配置


https://github.com/alibaba/canal/wiki/AdminGuide

canal.instance.filter.regex

 監控哪些表的正則配置 如下:

mysql 數據解析關注的表,Perl正則表達式.
多個正則之間以逗號(,)分隔,轉義符需要雙斜杠(\\) 
常見例子:
1.  所有表:.*   or  .*\\..*
2.  canal schema下所有表: canal\\..*
3.  canal下的以canal打頭的表:canal\\.canal.*
4.  canal schema下的一張表:canal.test1
5.  多個規則組合使用:canal\\..*,mysql.test1,mysql.test2 (逗號分隔)
注意:此過濾條件只針對row模式的數據有效(ps. mixed/statement因為不解析sql,所以無法准確提取tableName進行過濾)

 

instance.xml配置文件

目前默認支持的instance.xml有以下幾種:

  1. spring/memory-instance.xml
  2. spring/file-instance.xml
  3. spring/default-instance.xml
  4. spring/group-instance.xml

 

memory-instance.xml介紹:

所有的組件(parser , sink , store)都選擇了內存版模式,記錄位點的都選擇了memory模式,重啟后又會回到初始位點進行解析

特點:速度最快,依賴最少(不需要zookeeper)

場景:一般應用在quickstart,或者是出現問題后,進行數據分析的場景,不應該將其應用於生產環境

 

file-instance.xml介紹:

所有的組件(parser , sink , store)都選擇了基於file持久化模式,注意,不支持HA機制.

特點:支持單機持久化

場景:生產環境,無HA需求,簡單可用.

 

default-instance.xml介紹:

所有的組件(parser , sink , store)都選擇了持久化模式,目前持久化的方式主要是寫入zookeeper,保證數據集群共享.

特點:支持HA

場景:生產環境,集群化部署.

 

group-instance.xml介紹:

主要針對需要進行多庫合並時,可以將多個物理instance合並為一個邏輯instance,提供客戶端訪問。

場景:分庫業務。 比如產品數據拆分了4個庫,每個庫會有一個instance,如果不用group,業務上要消費數據時,需要啟動4個客戶端,分別鏈接4個instance實例。使用group后,可以在canal server上合並為一個邏輯instance,只需要啟動1個客戶端,鏈接這個邏輯instance即可.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM