中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

上饒建設(shè)培訓(xùn)中心網(wǎng)站網(wǎng)絡(luò)營銷公司熱線電話

上饒建設(shè)培訓(xùn)中心網(wǎng)站,網(wǎng)絡(luò)營銷公司熱線電話,wordpress最新手冊,免費模版網(wǎng)文章目錄 一、canal 概述1.2 什么是 canal2.3 canal 的所有組件 二、canal 工作原理2.1 MySQL 主備復(fù)制原理2.2 canal 工作原理 三、canal.server 組件3.1 canal.server 的架構(gòu)3.2 instance 模塊組成部分 四、canal.client 組件4.1 類設(shè)計4.2 server/clinet 交互協(xié)議4.3 使用案…

文章目錄

    • 一、canal 概述
      • 1.2 什么是 canal
      • 2.3 canal 的所有組件
    • 二、canal 工作原理
      • 2.1 MySQL 主備復(fù)制原理
      • 2.2 canal 工作原理
    • 三、canal.server 組件
      • 3.1 canal.server 的架構(gòu)
      • 3.2 instance 模塊組成部分
    • 四、canal.client 組件
      • 4.1 類設(shè)計
      • 4.2 server/clinet 交互協(xié)議
      • 4.3 使用案例
    • 參考資料

一、canal 概述

1.2 什么是 canal

canal 主要用途是基于 MySQL 數(shù)據(jù)庫增量日志解析,提供增量數(shù)據(jù)訂閱和消費。

基于日志增量訂閱和消費的業(yè)務(wù)包括

  • 數(shù)據(jù)庫鏡像
  • 數(shù)據(jù)庫實時備份
  • 索引構(gòu)建和實時維護(hù)(拆分異構(gòu)索引、倒排索引等)
  • 業(yè)務(wù) cache 刷新
  • 帶業(yè)務(wù)邏輯的增量數(shù)據(jù)處理

在這里插入圖片描述

2.3 canal 的所有組件

Canal 的架構(gòu)包括多個組件,每個組件承擔(dān)不同的功能,以便實現(xiàn)高效的數(shù)據(jù)同步和管理。

  • canal.server:負(fù)責(zé)處理與數(shù)據(jù)源的連接和數(shù)據(jù)的采集。作為 Canal 的核心,server 組件解析從數(shù)據(jù)庫獲取的變更數(shù)據(jù),并將其推送到下游。它支持多種數(shù)據(jù)源,并管理多個實例的運(yùn)行。
  • canal.client:提供了與 canal server 進(jìn)行通信的客戶端接口??蛻舳丝梢杂嗛喬囟ǖ臄?shù)據(jù)變更事件,并根據(jù)業(yè)務(wù)需求處理這些事件。Canal 客戶端通常用于集成其他應(yīng)用程序,支持多種編程語言,如 Java、Python 等,方便用戶進(jìn)行數(shù)據(jù)消費和業(yè)務(wù)邏輯處理。
  • canal-admin :為 canal 提供整體配置管理和節(jié)點運(yùn)維功能的組件,具有友好的 Web UI 操作界面。通過 canal-admin,用戶可以輕松管理 Canal 實例的配置、監(jiān)控實例狀態(tài)、執(zhí)行增量訂閱等操作。它降低了運(yùn)維的復(fù)雜性,使得更多用戶能夠快速、安全地操作 canal。

二、canal 工作原理

canal 的工作原理主要是將自己偽裝成數(shù)據(jù)庫主從同步中的從節(jié)點。

2.1 MySQL 主備復(fù)制原理

  • MySQL master 將數(shù)據(jù)變更寫入二進(jìn)制日志( binary log, 其中記錄叫做二進(jìn)制日志事件binary log events,可以通過 show binlog events 進(jìn)行查看)
  • MySQL slave 將 master 的 binary log events 拷貝到它的中繼日志(relay log)
  • MySQL slave 重放 relay log 中事件,將數(shù)據(jù)變更反映它自己的數(shù)據(jù)

具體細(xì)節(jié)查看 MySQL 日志:主從復(fù)制是怎么實現(xiàn)

2.2 canal 工作原理

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

三、canal.server 組件

3.1 canal.server 的架構(gòu)

在 canal.server 的架構(gòu)中,serverinstance 是兩個重要的概念:

  • server:代表一個 Canal 運(yùn)行實例,通常對應(yīng)于一個 JVM。它負(fù)責(zé)管理和運(yùn)行整個 Canal 服務(wù),處理數(shù)據(jù)源的接入、數(shù)據(jù)解析、過濾和存儲等任務(wù)。
  • instance:對應(yīng)于一個數(shù)據(jù)隊列,負(fù)責(zé)從特定數(shù)據(jù)源(如 MySQL)讀取變更數(shù)據(jù)并將其推送到下游消費者。每個 instance 獨立運(yùn)行,管理特定的數(shù)據(jù)庫連接和數(shù)據(jù)流。

在實際使用中,通常在 /canal/conf/canal.properties 中定義全局的環(huán)境和配置,而在 /canal/conf/example/instance.properties 中定義具體的數(shù)據(jù)庫實例的連接信息和監(jiān)控規(guī)則。

注意,example 是一個 instance 的名字。

在這里插入圖片描述

3.2 instance 模塊組成部分

instance 模塊是其核心部分,負(fù)責(zé)與數(shù)據(jù)源的交互和數(shù)據(jù)的處理:

  • EventParser:負(fù)責(zé)數(shù)據(jù)源的接入,模擬從主數(shù)據(jù)庫(master)到從數(shù)據(jù)庫(slave)的協(xié)議交互,并解析從數(shù)據(jù)庫獲取的變更數(shù)據(jù)。

  • EventSink:充當(dāng)解析器(Parser)和存儲(Store)之間的連接器,負(fù)責(zé)數(shù)據(jù)的過濾、加工和分發(fā)。它將解析后的數(shù)據(jù)根據(jù)配置進(jìn)行處理后,推送到目標(biāo)存儲或下游消費者。

  • EventStore:負(fù)責(zé)將數(shù)據(jù)持久化存儲,維護(hù)已消費的數(shù)據(jù)記錄,以支持增量訂閱和歷史數(shù)據(jù)的查詢。

  • MetaManager:負(fù)責(zé)增量訂閱和消費信息的管理,維護(hù)每個實例的狀態(tài),包括已消費的位置、訂閱信息等。

四、canal.client 組件

本節(jié)內(nèi)容來源于 ClientAPI · alibaba/canal Wiki

4.1 類設(shè)計

canal client 提供了一套接口,用于與 canal server 進(jìn)行交互和數(shù)據(jù)消費。以下是主要 API 組件的詳細(xì)說明

  • ClientIdentity: canal client 和 server 交互之間的身份標(biāo)識。
  • CanalConnector:提供兩種 connector 的實現(xiàn)。
    • SimpleCanalConnector 針對簡單的 IP 直連模式,適合單個客戶端與單個服務(wù)器的連接。
    • ClusterCanalConnector 針對多 IP 的模式,可依賴 CanalNodeAccessStrategy 進(jìn)行 failover 控制。
  • CanalNodeAccessStrategy:提供提供兩種 failover 的實現(xiàn)。
    • SimpleNodeAccessStrategy 針對給定的初始 IP 列表進(jìn)行故障轉(zhuǎn)移選擇,適用于簡單的連接場景。
    • ClusterNodeAccessStrategy 基于 Zookeeper 上的集群節(jié)點動態(tài)選擇正在運(yùn)行的 canal server,適用于更復(fù)雜的分布式環(huán)境。
  • ClientRunningMonitor/ClientRunningListener/ClientRunningData: client running 相關(guān)控制,主要為解決 client 自身的 failover 機(jī)制。

在這里插入圖片描述

4.2 server/clinet 交互協(xié)議

在這里插入圖片描述

4.3 使用案例

具體使用案例查看 ClientExample · alibaba/canal Wiki

參考資料

Home · alibaba/canal Wiki

Canal——原理架構(gòu)及應(yīng)用場景 - 曹偉雄 - 博客園

http://www.risenshineclean.com/news/32725.html

相關(guān)文章:

  • 中國十大電商做的好的網(wǎng)站seo推廣是什么意懌
  • 專業(yè)微信網(wǎng)站建設(shè)公司首選公司哪家好互聯(lián)網(wǎng)推廣公司排名
  • 建網(wǎng)站前期設(shè)計用那軟件花都網(wǎng)絡(luò)推廣seo公司
  • wordpress注冊去掉電子郵件上海網(wǎng)站seo診斷
  • 做網(wǎng)站后臺域名備案官網(wǎng)
  • 鄭州專業(yè)網(wǎng)站制作服務(wù)報價濟(jì)南網(wǎng)絡(luò)推廣公司電話
  • 寧波網(wǎng)站建設(shè)在線智慧軟文網(wǎng)站
  • 南昌有限公司 網(wǎng)站灰色詞排名代做
  • wordpress地址和站點url金華百度seo
  • python做網(wǎng)站快么鄭州外貿(mào)網(wǎng)站推廣
  • 百度做網(wǎng)站的電話百度置頂廣告多少錢
  • 德陽哪里有做網(wǎng)站的windows優(yōu)化大師是官方的嗎
  • 網(wǎng)站微信建設(shè)運(yùn)營經(jīng)驗分享沈陽疫情最新消息
  • 鄭州做裝飾的網(wǎng)站友情鏈接交易網(wǎng)
  • 公司做網(wǎng)站讓我們銷售百度點擊排名收費軟件
  • 重慶建設(shè)安全員信息網(wǎng)站seo實訓(xùn)報告
  • 自己做投票網(wǎng)站怎么弄公司域名查詢官網(wǎng)
  • 重慶網(wǎng)站制作那家好愛站小工具
  • 2023年電腦端網(wǎng)游濟(jì)南百度推廣優(yōu)化
  • 西安哪里做網(wǎng)站最大鄭州seo顧問
  • 國內(nèi)做批發(fā)的網(wǎng)站百度醫(yī)生在線問診
  • 網(wǎng)站集約化建設(shè)紀(jì)要網(wǎng)站案例分析
  • wordpress關(guān)注微信登陸廈門seo總部電話
  • 開發(fā)網(wǎng)站的步驟百度電腦版下載官網(wǎng)
  • 柳州做網(wǎng)站有kv網(wǎng)絡(luò)營銷八大職能
  • 網(wǎng)站不備案可以做淘寶客嗎營銷推廣公司案例
  • 網(wǎng)站設(shè)計精美案例電腦培訓(xùn)學(xué)校哪家好
  • 修改wordpress版權(quán)搜索引擎優(yōu)化是指
  • 建企業(yè)網(wǎng)站哪家好百度云搜索引擎入口
  • 邢臺企業(yè)做網(wǎng)站搜索關(guān)鍵詞的網(wǎng)站