Canal应用

Canal
1.1 介绍
是阿里巴巴基于java语言开发的一款数据日志增量解析的组件 ;

在这里插入图片描述

在这里插入图片描述
1.2 Canal安装配置
1). 配置MySQL -----> 修改MySQL配置文件; 创建同步账户
2). 下载Canal, 对Canal进行配置
以上两步都不需要操作, 因为我们提供的镜像中, 关于MySQL , Canal的配置, 都已经配置好了, 直接使用即可 ;
1.3 数据监控微服务
1). pom.xml

com.xpand
starter-canal
0.0.1-SNAPSHOT

2). application.properties
canal.client.instances.example.host=192.168.192.152
canal.client.instances.example.port=11111
canal.client.instances.example.batchSize=1000

3). 引导类
@SpringBootApplication
@EnableCanalClient //声明当前的服务是canal的客户端
public class CanalApplication {
public static void main(String[] args) {
SpringApplication.run(CanalApplication.class,args);
}
}

4). 数据库监听类
@CanalEventListener //声明当前的类是canal的监听类
public class BusinessListener {
/**
* @param eventType 当前操作数据库的类型
* @param rowData 当前操作数据库的数据
*/
@ListenPoint(schema = “changgou_business”,table = “tb_ad”)
public void adUpdate(CanalEntry.EventType eventType,CanalEntry.RowData rowData){
System.out.println(“广告表数据发生改变”);
//获取改变之前的数据
rowData.getBeforeColumnsList().forEach(©-> System.out.println(“改变前的数据:”+c.getName()+"::"+c.getValue()));
System.out.println("-------------------------");
//获取改变之后的数据
rowData.getAfterColumnsList().forEach(©-> System.out.println(“改变之后的数据:”+c.getName()+"::"+c.getValue()));
}
}

补充:
@InsertListenPoint : 插入数据时, 触发方法
@UpdateListenPoint : 更新数据时, 触发方法
@DeleteListenPoint : 删除数据时, 触发方法

发布了92 篇原创文章 · 获赞 3 · 访问量 2793

猜你喜欢

转载自blog.csdn.net/weixin_44993313/article/details/104413687