使用debezium实现cdc实时数据同步功能记录
Debezium 是一个用于变更数据捕获的开源分布式平台。能够保证应用程序就可以开始响应其他应用程序提交到您数据库的所有插入、更新和删除操作。Debezium 持久、快速,因此即使出现问题,您的应用程序也能快速响应,绝不会错过任何事件。Debezium 默认使用Kafka来投递数据,在事务日志中记录提交到每个数据库表的所有行级变更。每个应用程序只需读取其感兴趣的事务日志,即可按事件发生的相同顺序查看所有事件。
一)安装部署
debezium需要安装kafka环境
从网站 https://debezium.io 下载最新debezium连接器包debezium-connector-mysql,解压后放到kafka的plugins插件文件夹里,如图

二)配置
1.mysql打开binlog
2.mysql中新增用户,给对应的权限
3.修改kafka里config配置connect-debezium-mysql.properties
#实例名称,保持默认
name=debezium-mysql-snweb-connector
#入口类名,请勿修改
connector.class=io.debezium.connector.mysql.MySqlConnector
#目标数据库地址
database.hostname=
#目标数据库端口
database.port=3306
#数据库用户
#注意此用户必须至少具有SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT 权限
database.user=cdc
#数据库密码
database.password=
#数据库实例编号,保持默认
database.server.id=1
#数据库时区 https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
database.connectionTimeZone=Asia/Shanghai
#数据变更所属主题前缀,建议名称为 数据库名_cdc
topic.prefix=
#要监听数据变更的数据库
database.include.list=
#不监听的数据库表,多个表之间使用英文逗号隔开
#table.exclude.list=snweb-jl.auditlog,snweb-jl.log,snweb-jl.handsetmessage,snweb-jl.terminalmessage,snweb-jl.handsetlog
#数据变更消息投递目标kafka服务器
schema.history.internal.kafka.bootstrap.servers=localhost:9092
#数据库结构变更消息所属主题,建议名称为 数据库名称_dbhistory
schema.history.internal.kafka.topic=
#是否监听数据库结构变更,保持默认
include.schema.changes=true
#是否包含原始查询语句,保持默认
include.query=true
#注意如果要接收1MB以上的数据,需要设置该值
producer.max.request.size = 67108864
在kafka根目录启动命令:bin/connect-standalone.sh config/connect-standalone.properties config/connect-debezium-mysql.properties
三)订阅数据查看
使用offset,原kafka tools连接kafka查看数据

四)程序订阅数据
编写C#或者Java等程序读取kafka里的数据,代码自行编写或者搜索,就不列举了。
主要注意消息体里,before是修改前数据,after是修改之后数据,包括数据结构也在消息体里,可以根据业务自行操作
注意如果要接收1MB以上的数据,需要设置该值producer.max.request.size值,
使用debezium实现cdc实时数据同步功能记录的更多相关文章
- Tapdata Real Time DaaS 技术详解 PART I :实时数据同步
摘要:企业信息化过程形成了大量的数据孤岛,这些并不连通的数据孤岛是企业数字化转型的巨大挑战.Tapdata Real Time DaaS 采用的CDC模式,具有巨大的优势,同时是一个有技术壁垒的活 ...
- Linux系统实时数据同步inotify+rsync
一.inotify简介 inotify是Linux内核的一个功能,它能监控文件系统的变化,比如删除.读.写和卸载等操作.它监控到这些事件的发生后会默认往标准输出打印事件信息.要使用inotify,Li ...
- 【linux运维】rsync+inotify与sersync+rsync实时数据同步笔记
Rsync(remote sync)远程同步工具,通过rsync可以实现对远程服务器数据的增量备份通过,但rsync自身也有缺陷,同步数据时,rsync采用核心算法对远程服务器的目标文件进行对比,只进 ...
- Tapdata 在线研讨会:实时数据同步应用场景及实现方案探讨
数字化时代的到来,企业业务敏捷度的提升,对传统的数据处理和可用性带来更高的要求,实时数据同步技术的发展,给基于数据的业务创新带来了更多的可能性.9月8日晚,Tapdata 联合MongoDB 中文社区 ...
- sersync+rsync实时数据同步
sersync+rsync实时数据同步 1.相关背景介绍 前面有关文章配置实现了rsync增量同步以及配置为定时同步,但是在实际生产环境中需要实时的监控数据从而进行同步(不间断同步),可以采取inot ...
- Linux学习系列之Inotify+Rsync实现实时数据同步
Inotify简介 inotify介绍 inotify是一种强大的.异步的文件系统监控机制,linux内核从2.6.13起,加入了inotify的支持,通过inotify可以监控文件系统中添加.删除. ...
- rsync+inotify实时数据同步多目录实战
rsync+inotify实时数据同步多目录实战 inotify配置是建立在rsync服务基础上的配置过程 操作系统 主机名 网卡eth0 默认网关 用途 root@58server1 1 ...
- rsync+inotify实时数据同步单目录实战
rsync+inotify实时数据同步单目录实战 rsync+inotify实时数据同步单目录实战 inotify是一个强大的.细粒度的.异步的文件系统事件监控机制,linux内核从2.6.13起 ...
- TiDB 作为 MySQL Slave 实现实时数据同步
由于 TiDB 本身兼容绝大多数的 MySQL 语法,所以对于绝大多数业务来说,最安全的切换数据库方式就是将 TiDB 作为现有数据库的从库接在主 MySQL 库的后方,这样对业务方实现完全没有侵入性 ...
- 三十、sersync高级同步工具实时数据同步架构
一.项目介绍 Sersync项目利用inotity与rsync技术实现对服务器数据实时同步的解决方案,其中inotity用于监控sersync所在服务器上的文件变化. Sersync项目的优点: 1. ...
随机推荐
- echarts饼图中央自定义文字
var option = { tooltip: { trigger: 'item' }, legend: { top: '5%', left: 'center' }, //中央自定义文字 title: ...
- RN 表单TextInput的用法
你要注意安卓和苹果是不同的哈 有些属性是苹果才有的,有些是安卓独有的 有些两个都有哈 // 边框要设置两个属性哈 borderColor: 'pink', marginTop: 10, 具体看地址 h ...
- 离开页面关闭video标签
<video src="./play.mp4" id="maskmore_1" controls="controls" autopla ...
- TienChin 运行 RuoYi-Vue3
在前几篇文章当中,之前使用的是 Vue2,在某一天发现若依提供了 Vue3 的版本,所以这篇文章主要是运行起来,Vue2,迟早要被替代,所以这里采用最先进的 Vue3. 仓库地址:https://gi ...
- 20.8 OpenSSL 套接字SSL传输文件
有了上面的基础那么传输文件的实现就变得简单了,在传输时通常我们需要打开文件,并每次读入1024个字节的数据包,通过SSL加密传输即可,此处的文件传输功能在原生套接字章节中也进行过详细讲解,此处我们还是 ...
- ubuntu离线安装tcpdump
环境 Distributor ID: Ubuntu Description: Ubuntu 16.04.5 LTS Release: 16.04 Codename: xenial 准备安装包 tcpd ...
- 小知识:如何修改TFA下的OSW数据保留时间
在Oracle社区可以搜索到这样的问题: How to change oswatcher retention when running under TFA 但很遗憾该问题目前也没有给出确切答复. 其实 ...
- mysql 索引优化 explain,复合索引,联合索引,优化 user_base 和 log_login 实战
本节是关于MySQL的复合索引相关的知识,两个或更多个列上的索引被称作复合索引,本文主要介绍了mysql 联合索引生效的条件及失效的条件 对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可 ...
- 聚石塔的K8s 容器服务使用注意事项,坑的总结
1. 首先聚石塔是不能使用 8080 端口的,会审核不通过. 2.然而,容器服务默认的却是8080,最彻底的解决方法就是修改成80,注意3个地方: 以上3个地方要严重留意,缺一不可,已经踩了2次坑了, ...
- 云计算 - 负载均衡SLB方案全解与实战
云计算 - 负载均衡SLB方案全解与实战,介绍SLB的核心技术.用户最佳实践.阿里云 SLB产品举例.应用场景. 关注[TechLeadCloud],分享互联网架构.云服务技术的全维度知识.作者拥有1 ...