springboot整合canal(超详细)

本文详细介绍了如何将Canal与SpringBoot结合,用于数据库的增量订阅和消费。首先,概述了Canal作为MySQL Binlog监听工具的作用。接着,详述了Canal服务端的部署过程,包括下载、配置实例属性文件。最后,提到了客户端的集成,包括POM文件的添加和连接配置。具体到业务实现,需自行完成数据变化的处理逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、canal介绍

binlog是mysql的二进制日志,对于操作数据库的语句,都以此形式保存。Canal是阿里MySQL数据库Binlog的增量订阅&消费组件 。基于数据库Binlog可以监控数据库数据的变化进而用于数据同步等业务。

二、服务端部署

服务端链接: https://github.com/alibaba/canal/releases
解压zip,目录如下:
在这里插入图片描述
conf -> example -> instance.properties
日志文件名称和记录位置,如下图所示,修改数据库连接地址、日志文件、连接的用户名和密码

show master status(数据库查询日志文件命令)
(详细配置可以从官网查看,仅记录使用步骤)
在这里插入图片描述

三、客户端使用

1、POM文件
 		<!--canal-->
        <dependency>
            <groupId>com.alibaba.otter</groupId>
            <artifactId>canal.client</artifactId>
            <version>1.1.3</version>
        </dependency>
2、连接配置
canal-monitor-mysql:
  hostname: localhost
  port: 11111
  tableName: fas4.0

具体的数据库数据变化 业务实现方面需要 自己手动去实现,仅展示自己使用的部分。
需要注意: 如果是多个客户端同时使用,要注意:多个客户端会出现某个客户端 把消息全部消费,而别的客户端没有消息消费的情况,这里需要特别注意


import com.alibaba.otter.canal.client.CanalConnector;
import com.alibaba.otter.canal.client.CanalConnectors;
import com.alibaba.otter.canal.protocol.CanalEntry;
import com.haiot.service.CorpsUploadService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Async;
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值