当前位置:   article > 正文

SpringBoot+Canal+RabbitMQ实战_springboot整合canal、rabbitmq

springboot整合canal、rabbitmq

1. Canal简介

https://github.com/alibaba/canal

1.1 Canal工作原理

MySQL主备复制原理
在这里插入图片描述

  • MySQL master 将数据变更写入二进制日志( binary log, 其中记录叫做二进制日志事件binary log
    events,可以通过 show binlog events 进行查看)
  • MySQL slave 将 master 的 binary log events 拷贝到它的中继日志(relay log)
  • MySQL slave 重放 relay log 中事件,将数据变更反映它自己的数据

canal 工作原理

  • canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump
    协议
  • MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal )
  • canal 解析 binary log 对象(原始为 byte 流)

2. 启动Canal

前提是mysql、rabbitmq已经安装完成

2.1 打开mysql的binlog,修改my.cnf
[mysqld]
log-bin=mysql-bin #开启binlog
binlog-format=ROW #选择ROW模式
server_id=1 # 配置MySQL replaction需要定义,不和Canal的slaveId重复即可
  • 1
  • 2
  • 3
  • 4

查看是否生效:

show variables like 'log_bin';
  • 1

在这里插入图片描述

2.2 下载canal.deployer

https://github.com/alibaba/canal/releases/download/canal-1.1.6/canal.deployer-1.1.6.tar.gz

下载完之后解压压缩文件,进入canal.deployer-1.1.6之后可以看到:
在这里插入图片描述

2.2.1 进入\canal.deployer-1.1.6\config目录:编辑canal.properties文件

配置 Canal 服务方式为 RabbitMQ 和连接配置(

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/445327
推荐阅读
相关标签