淺談:canal配置方式

配置加載方式

canal配置方式有兩種:

    1. ManagerCanalInstanceGenerator: 基于manager管理的配置方式设凹,目前alibaba內(nèi)部配置使用這種方式舰讹。大家可以實(shí)現(xiàn)CanalConfigClient,連接各自的管理系統(tǒng)闪朱,即可完成接入月匣。
    1. SpringCanalInstanceGenerator:基于本地spring xml的配置方式,目前開(kāi)源版本已經(jīng)自帶該功能所有代碼奋姿,建議使用锄开。

Spring配置

spring配置的原理是將整個(gè)配置抽象為兩部分:

    1. xxx-instance.xml: canal組件的配置定義,可以在多個(gè)instance配置中共享
    1. xxx-properties: 每個(gè)instance通道都有各自的一份定義,因?yàn)槊總€(gè)mysql的ip,賬號(hào),密碼等等信息不會(huì)相同

通過(guò)spring的PropertyPlaceholderConfigurer通過(guò)機(jī)制將兩部分融合,生成一個(gè)instance實(shí)例對(duì)象称诗,每個(gè)instance對(duì)應(yīng)的組件都是相互獨(dú)立的萍悴,互不影響。

properties配置

properties配置文件分為兩部分:

    1. canal.properties: 系統(tǒng)根配置文件,對(duì)應(yīng)一個(gè)canal server
    1. instance.properties: instance級(jí)別的配置文件,每個(gè)instance一份
instance.properties配置介紹

a.在canal.properties定義了canal.destinations后,需要在canal.conf.dir對(duì)應(yīng)的目錄下建立同名的文件

比如:canal.destinations = example1,example2癣诱,這時(shí)需要?jiǎng)?chuàng)建example1和example2兩個(gè)目錄计维,每個(gè)目錄里各自有一份instance.properties.

ps. canal自帶了一份instance.properties demo,可直接復(fù)制conf/example目錄進(jìn)行配置修改撕予。

cp -R example example1/
cp -R example example2/

b. 如果canal.properties未定義instance列表鲫惶,但開(kāi)啟了canal.auto.scan時(shí)

  • server第一次啟動(dòng)時(shí),會(huì)自動(dòng)掃描conf目錄下实抡,將文件名做為instance name
  • 啟動(dòng)對(duì)應(yīng)的instance server運(yùn)行過(guò)程中欠母,會(huì)根據(jù)canal.auto.scan.interval定義的頻率,進(jìn)行掃描
    1.發(fā)現(xiàn)目錄有新增吆寨,啟動(dòng)新的instance
    2.發(fā)現(xiàn)目錄有刪除赏淌,關(guān)閉老的instance
    3.發(fā)現(xiàn)對(duì)應(yīng)目錄的instance.properties有變化,重啟instance.
xxx-instance.xml配置介紹

目前默認(rèn)支持的xxx-instance.xml有四種:

  • memory-instance.xml
  • file-instance.xml
  • default-instance.xml
  • group-instance.xml.

spring/memory-instance.xml介紹:

  • 所有的組件(parser , sink , store)都選擇了內(nèi)存版模式啄清,記錄位點(diǎn)的都選擇了memory模式六水,重啟后又會(huì)回到初始位點(diǎn)進(jìn)行解析。
  • 特點(diǎn):速度最快辣卒,依賴最少(不需要zookeeper)
  • 場(chǎng)景:一般應(yīng)用在quickstart缩擂,或者是出現(xiàn)問(wèn)題后,進(jìn)行數(shù)據(jù)分析的場(chǎng)景添寺,不應(yīng)該將其應(yīng)用于生產(chǎn)環(huán)境

spring/file-instance.xml介紹:

  • 所有的組件(parser , sink , store)都選擇了基于file持久化模式;
  • 特點(diǎn):不支持HA機(jī)制.支持單機(jī)持久化.
  • 場(chǎng)景:生產(chǎn)環(huán)境,無(wú)HA需求懈费,簡(jiǎn)單可用.

spring/default-instance.xml介紹:

  • 所有的組件(parser , sink , store)都選擇了持久化模式,目前持久化的方式主要是寫(xiě)入zookeeper,保證數(shù)據(jù)集群共享.
  • 特點(diǎn):支持HA
  • 場(chǎng)景:生產(chǎn)環(huán)境,集群化部署

spring/group-instance.xml介紹:

  • 主要針對(duì)需要進(jìn)行多庫(kù)合并時(shí)驻谆,可以將多個(gè)物理instance合并為一個(gè)邏輯instance脑又,提供客戶端訪問(wèn)。
  • 場(chǎng)景:分庫(kù)業(yè)務(wù)泞边。比如產(chǎn)品數(shù)據(jù)拆分了4個(gè)庫(kù)该押,每個(gè)庫(kù)會(huì)有一個(gè)instance,如果不用group阵谚,業(yè)務(wù)上要消費(fèi)數(shù)據(jù)時(shí)蚕礼,需要啟動(dòng)4個(gè)客戶端,分別鏈接4個(gè)instance實(shí)例梢什。使用group后奠蹬,可以在canal server上合并為一個(gè)邏輯instance,只需要啟動(dòng)1個(gè)客戶端嗡午,鏈接這個(gè)邏輯instance即可.

參考文章:

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末囤躁,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌狸演,老刑警劉巖言蛇,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異宵距,居然都是意外死亡腊尚,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)消玄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)跟伏,“玉大人,你說(shuō)我怎么就攤上這事翩瓜∈馨猓” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵兔跌,是天一觀的道長(zhǎng)勘高。 經(jīng)常有香客問(wèn)我,道長(zhǎng)坟桅,這世上最難降的妖魔是什么华望? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮仅乓,結(jié)果婚禮上赖舟,老公的妹妹穿的比我還像新娘。我一直安慰自己夸楣,他們只是感情好宾抓,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著豫喧,像睡著了一般石洗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上紧显,一...
    開(kāi)封第一講書(shū)人閱讀 49,071評(píng)論 1 285
  • 那天讲衫,我揣著相機(jī)與錄音,去河邊找鬼孵班。 笑死涉兽,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的重父。 我是一名探鬼主播花椭,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼房午!你這毒婦竟也來(lái)了矿辽?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎袋倔,沒(méi)想到半個(gè)月后雕蔽,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡宾娜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年批狐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片前塔。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡嚣艇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出华弓,到底是詐尸還是另有隱情食零,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布寂屏,位于F島的核電站贰谣,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏迁霎。R本人自食惡果不足惜吱抚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望考廉。 院中可真熱鬧秘豹,春花似錦、人聲如沸昌粤。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)婚苹。三九已至,卻和暖如春鸵膏,著一層夾襖步出監(jiān)牢的瞬間膊升,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工谭企, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留廓译,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓债查,卻偏偏與公主長(zhǎng)得像非区,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子盹廷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容