介紹一款數據準實時復制(CDC)中間件 `Debezium`

簡介

文章開頭先介紹一下什么是CDC。數據準實時復制(CDC)是目前行內實時數據需求大量使用的技術。常用的中間件有Canal、Debezium、Flink CDC等

下面我們做一下對比

各有優缺點吧,本主要介紹一下Debezium中間件。

Debezium是什么

Debezium是一個為變更數據捕獲(CDC)提供低延遲數據流平臺的開源項目。Debezium是一個將來自現有數據庫的信息轉換為事件流的分布式平臺,使應用程序能夠檢測并立即響應數據庫中的行級更改。

Debezium構建在Apache Kafka之上,并提供了一組Kafka Connect兼容的連接器。每個連接器都與特定的數據庫管理系統(DBMS)一起工作。連接器通過檢測發生的變化來記錄DBMS中數據變化的歷史,并將每個變化事件的記錄流式傳輸到Kafka Topic。然后,消費應用程序可以從Kafka主題中讀取結果事件記錄。通過利用Kafka可靠的流媒體平臺,Debezium使應用程序能夠正確和完整地消費數據庫中發生的更改。即使您的應用程序意外停止或失去連接,它也不會錯過停機期間發生的事件。應用程序重新啟動后,它將從停止的位置繼續從主題讀取。

注:本文只討論Debezium構建在kafka之上。

Kafka Connect架構

最常見的是通過Apache kafka connect部署Debezium。Kafka Connect是一個框架和運行時,用于實現和操作:

  • 源連接器,如Debezium,將記錄發送到Kafka
  • 接收連接器,將記錄從Kafka主題傳播到其他系統

下圖顯示了基于Debezium的變更數據捕獲管道的架構:

?

如圖所示,部署了用于MySQL和PostgresSQL的Debezium連接器來捕獲對這兩種數據庫的更改。每個Debezium連接器建立一個到其源數據庫的連接:

  • MySQL連接器使用一個客戶端庫來訪問binlog。
  • PostgreSQL連接器從邏輯復制流中讀取數據。

Kafka Connect作為Kafka代理之外的一個獨立服務運行。

默認情況下,一個數據庫表的更改被寫入Kafka主題,其名稱對應于表名。如果需要,您可以通過配置Debezium的主題路由轉換來調整目標主題名稱。例如,您可以:

  • 將記錄路由到名稱與表名不同的主題
  • 將多個表的更改事件記錄流式傳輸到單個主題中

在Apache Kafka中更改事件記錄后,Kafka Connect生態系統中的不同連接器可以將記錄流式傳輸到其他系統和數據庫,如Elasticsearch,數據倉庫和分析系統,或緩存,如Infinispan

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/44513.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/44513.shtml
英文地址,請注明出處:http://en.pswp.cn/web/44513.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Windows圖形界面(GUI)-SDK-C/C++ - 列表框(List)

公開視頻 -> 鏈接點擊跳轉公開課程博客首頁 -> 鏈接點擊跳轉博客主頁 目錄 列表框(List) 控件樣式 創建控件 初始控件 消息處理 示例代碼 列表框(List) 控件樣式 列表框(ListBox)是Windows圖形界面開發中常用的控件,允許用戶從…

力扣第230題“二叉搜索樹中第K小的元素”

在本篇文章中,我們將詳細解讀力扣第230題“二叉搜索樹中第K小的元素”。通過學習本篇文章,讀者將掌握如何使用中序遍歷來找到二叉搜索樹中的第K小的元素,并了解相關的復雜度分析和模擬面試問答。每種方法都將配以詳細的解釋,以便于…

OpenAI終止對中國提供API服務,對國內AI市場產生重大沖擊?

6月25日,OpenAI突然宣布終止向包括中國在內的國家地區提供API服務,本月9日這一政策已經正式生效了! 有人說,這個事件給中國AI行業帶來很大沖擊!是這樣嗎?在展開討論前,我們先來看看什么是API服務…

會話固定攻擊

會話固定攻擊(Session Fixation Attack)是一種網絡攻擊,攻擊者試圖誘騙受害者使用攻擊者指定的會話ID,以便在受害者登錄后,攻擊者能夠竊取受害者的會話并冒充受害者進行操作。下面是一個形象的例子來解釋會話固定攻擊&…

8080端口映射外網不成功的原因

最近因為需要將群暉nas的8080端口映射到外網,但是路由器已經成功設置,群暉nas上對應端口的服務也已經部署好,可是如論如何也從外網訪問不到群暉服務器上,但是同樣是5000端口,群暉的外網管理端口就可以,最后…

在linux x86服務器安裝jdk

安裝JDK(Java Development Kit)在Linux x86 服務器上可以按照以下步驟進行操作。以下步驟假設你有root權限或者sudo權限。 1. 下載JDK安裝包 首先,你需要從Oracle官網或者OpenJDK官網下載JDK的安裝包。可以選擇對應的版本,比如J…

jmeter-beanshell學習8-for循環

一個稍微有點難度的東西 要把響應結果的所有名字都取出來,然后怎么處理看自己需求。比如找某個人是不是在這里,或者把所有人都寫進一個文檔,我就不編場景了 第一步想要取出所有名字,還得靠萬能的正則表達式提取器,jso…

【開源 Mac 工具推薦之 1】gibMacOS:方便快捷的 macOS 完整包下載 Shell 工具

簡介 gibMacOS 是由 GitHub 開發者 corpnewt 編寫的一款 Shell 工具。它采用 Python 編程語言,可以讓用戶打開后在純文本頁面中輕松選擇并下載來源于 Apple 官方的 macOS 完整安裝包。 Repo 地址:https://github.com/corpnewt/gibMacOS (其…

【簡歷】某電子科技大學:前端實習簡歷指導,面試通過率低

注:為保證用戶信息安全,姓名和學校等信息已經進行同層次變更,內容部分細節也進行了部分隱藏 簡歷說明 這是一份一本某電子科技大學的同學簡歷,投遞的職位就是我們前端,但是因為學校是一本,我們說主要主體在…

路由協議的優先級,以及管理距離 AD 和 metric 的區別

路由協議的優先級(Preference,即管理距離 Administrative Distance )一般為一個 0 到 255 之間的數字,數字越大則優先級越低。表一是通常情況下各路由協議的優先級規定: 表一:一般路由協議優先級 路由協議…

Mybatis-plus 集成 PostgreSQL 數據庫自增序列問題記錄

1.創建序列并綁定id CREATE SEQUENCE biz_factory_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;"id" int4 NOT NULL DEFAULT nextval(sys_user_seq::regclass), 2.實體設置KeySequence和TableId注解 注意IdType.INPUT 和 KeySequence(value …

debian 12 PXE Server 批量部署系統

pxe server 前言 PXE(Preboot eXecution Environment,預啟動執行環境)是一種網絡啟動協議,允許計算機通過網絡啟動而不是使用本地硬盤。PXE服務器是實現這一功能的服務器,它提供了啟動鏡像和引導加載程序,…

STM32的TIM1之PWM互補輸出_死區時間和剎車配置

STM32的TIM1之PWM互補輸出_死區時間和剎車配置 1、定時器1的PWM輸出通道 STM32高級定時器TIM1在用作PWM互補輸出時,共有4個輸出通道,其中有3個是互補輸出通道,如下: 通道1:TIM1_CH1對應PA8引腳,TIM1_CH1N對應PB13引…

LDAPWordlistHarvester:基于LDAP數據的字典生成工具

關于LDAPWordlistHarvester LDAPWordlistHarvester是一款功能強大的字典列表生成工具,該工具可以根據LDAP中的詳細信息生成字典列表文件,廣大研究人員隨后可以利用生成的字典文件測試目標域賬號的非隨機密碼安全性。 工具特征 1、支持根據LDAP中的詳細信…

STM32F103RC使用HAL庫配置USART進行數據收發

目錄 STM32F103RC使用HAL庫配置USART進行數據收發(代碼模塊) 一、USART初始化 二、USART使用的GPIO初始化 三、USART的接收中斷配置 四、USART的數據發送 五、補充 STM32F103RC使用HAL庫配置USART進行數據收發(代碼模塊) 一…

JavaDS —— 棧 Stack 和 隊列 Queue

棧的概念 棧是一種先進后出的線性表,只允許在固定的一端進行插入和刪除操作。 進行插入和刪除操作的一端被稱為棧頂,另一端被稱為棧底 棧的插入操作叫做進棧/壓棧/入棧 棧的刪除操作叫做出棧 現實生活中棧的例子: 棧的模擬實現 下面是Jav…

windows USB 設備驅動程序開發-總線接口查詢

總線接口的查詢 USB 客戶端驅動程序可以獲取對USB總線驅動程序接口的引用,并使用它來訪問總線驅動程序例程,而不是使用 I/O 請求數據包 (IRP) 機制。 使用總線驅動程序接口為客戶端驅動程序提供了幾個優勢: 它可以使用接口的服務&#xff…

對接企業微信API自建應用配置企業可信IP

前言 為了實現系統調用團隊會議功能,組織發起企業微信會議,于是需要和企業微信做API對接。對接過程很難受,文檔不清晰、沒有SDK、沒有技術支持甚至文檔報文和實際接口報文都不匹配,只能說企業微信的API是從業以來見過的最難用的AP…

[Spring] Spring Web MVC基礎理論

🌸個人主頁:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵?熱門專欄: 🧊 Java基本語法(97平均質量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection與…

n3.平滑升級和回滾

平滑升級和回滾 1. 平滑升級流程2. 平滑升級和回滾案例 有時候我們需要對Nginx版本進行升級以滿足對其功能的需求,例如添加新模塊,需要新功能,而此時 Nginx又在跑著業務無法停掉,這時我們就可能選擇平滑升級 1. 平滑升級流程 平…