canal 简介

早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增量变更。从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务。基于日志增量订阅和消费的业务包括:

  • 数据库镜像
  • 数据库实时备份
  • 索引构建和实时维护(拆分异构索引、倒排索引等)
  • 业务 cache 刷新
  • 带业务逻辑的增量数据处理

MySQL的binlog简介

MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML( 除了数据查询语句 )语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。

集成准备工作

1. MySQL 开启 binlog

  • Windows:
C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
  • Linux:
vim /etc/my.cnf
  • 添加内容:
[mysqld]
log-bin=mysql-bin # 开启binlog
binlog-format=ROW # 选择ROW模式
server_id=1 # 配置MySQL replaction需要定义,不和Canal的slaveId重复即可

【SpringBoot】65、SpringBoot整合Canal+RabbitMQ监听MySQL实现数据同步更新Redis缓存相关推荐

  1. springboot整合canal,监听MySQL binlog日志,实现增量同步

    有两个数据库,并不是主从关系,但是需要同步某张表,可以通过binlog日志,进行同步,前提是这两个数据库的要同步的表,表名和字段名需要一致. 当前项目连接的数据库(需要同步的数据库):base_pro ...

  2. spring boot+kafka+canal实现监听MySQL数据库

    spring boot+kafka+canal实现监听MySQL数据库 一.zookeeper安装 kafka依赖于zookeeper,安装kafka前先安装zookeeper 下载地址:Apache ...

  3. 微信小程序批量获取input的输入值,监听输入框,数据同步

    微信小程序批量获取input的输入值,监听输入框,数据同步 在使用小程序时,跟vue的数据绑定不一样,没有v-model这个属性了,官网也只是给了一些事件监听. 但是我们如果有多个表单时,需要写多个事 ...

  4. mysql广播_监听Mysql数据库变更并广播到ws.z.12zan.net

    项目地址:yuanfenxi/yuanlicast​github.com go-mysql-elasticsearch是一个golang包,可以以一个MysqlServer的salve的身份,监听my ...

  5. canal 监听不到数据变化_数据的异构实战(二)手写迷你版同步工程

    点击上方"Java知音",选择"置顶公众号" 技术文章第一时间送达! 上一期讲到了通过canal订阅mysql的binlog日志并且转换为对象,那么这一次我们将 ...

  6. Canal监听mysql的binlog日志实现数据同步

    Canal监听mysql的binlog日志实现数据同步 1. canal概述 1.1 canal简介 1.2 技术选型 1.3 原理分析 1.3.1 MySQL主备复制原理 1.3.2 canal原理 ...

  7. Canal监听MySQL

    Canal监听MySQL 1.Mysql数据库开启binlog模式 注意:Mysql容器,此处Mysql版本为5.7 #进入容器 docker exec -it mysql /bin/bash #进入 ...

  8. Java监听mysql的binlog详解(mysql-binlog-connector)

    Java监听mysql的binlog详解(mysql-binlog-connector) 1. 需求概述 2. 技术选型 3. 方案设计 3.环境准备 3.1 查看是否开启binlog 3.2 mys ...

  9. 基于springboot项目中使用docker-compose+es+kibana+logstash+mysql 提高数据查询效率

    基于springboot项目中使用docker-compose+es+kibana+logstash+mysql 提高数据查询效率 1.拉取logstash,kibana,es,mysql镜像 #命令 ...

最新文章

  1. 显示所有文件和文件夹无论如何 无法被设置
  2. 专栏 | 基于 Jupyter 的特征工程手册:特征选择(四)
  3. 想成为一名优秀的数据分析师,应该做些什么?
  4. python3随记——字符编码
  5. 34丨关于Linux网络,你必须知道这些(下)
  6. Linux传递位置参数,Linux-scripts-位置参数等特殊变量
  7. 3位格雷码的顺序编码_第3部分-计算机程序员(FPGA嵌入式应用)_3级_理论知识复习题...
  8. 让用户研究插上数据的翅膀
  9. 一名小小的SQL Server DBA想谈一下SQL Server的能力
  10. MySQL 第六次练习(索引)
  11. [No0000143]Win10“卓越性能模式”
  12. P1868 饥饿的奶牛
  13. 2021 年 GitHub 最佳开源软件榜单
  14. 信息安全三要素CIA
  15. ExpandableListView 去掉默认箭头,设置成别的图片
  16. 28岁程序员身家过亿退休,追寻诗和远方:去日本!
  17. 2020.2.18 大一寒假训练十一(set)
  18. 智能冰箱APP开发定制制作
  19. 九、https反向代理配置
  20. git本地用户配置,及邮箱配置

热门文章

  1. 解决图片底部的空白缝隙
  2. MyBatis核心源码剖析(SqlSession XML解析 Mapper executor SQL执行过程 自定义类型处理器 缓存 日志)
  3. 网站集成支付宝与网站集成财付通的比较
  4. 对接支付宝人脸识别和获取用户信息接口
  5. B2B2C多用户商城系统是怎么报价的?
  6. 异构集成 与 异构计算
  7. stringWithFormat:用法及注意事项
  8. 【Bluetooth蓝牙开发】一、开篇词 | 打造全网最详细的Bluetooth开发教程
  9. BitBlt 函数 详解, StretchBlt、SetStretchBltMode、SetBrushOrgEx 按句柄截图、直接截取缩略图...
  10. ubuntu18.04下的mysql创建表