【MySQL Canal 数据同步】Canal入门 2020_01_01

简介

由来

Canal 是 阿里巴巴公司 Otter 中间件的一部分。
Otter存在意义:解决阿里巴巴异地机房的业务数据库实时同步问题。
实现原理:基于数据库增量日志解析,提供增量数据订阅&消费的中间件,使用Java开发。
Canal 实现了 MySQL的 binlog日志 解析,然后利用 canal client 获得的增量数据解析结果。

常见使用场景

1.更新缓存(监控MySQL,更新Redis)
2.抓取新增变化表,用于制作拉链表
3.业务数据库的实时项目

工作原理

MySQL自身拥有 主从复制机制(高可用),Canal 则是利用 Slave 从机身份来合法获取主数据库的全部更新数据(实质是主数据库执行过的SQL语句,从机再执行一遍,以来达到数据同步的效果)
在这里插入图片描述
具体步骤:

  1. Master 主库 将改变数据的SQL记录,写到二进制日志文件(binary log)
  2. Slave 从库 向 Master 主库 发送dump协议,将 Master 主库 的 binary log events 拷贝到从库自己的中继日志(relay log);
  3. Slave 从库 读取并重现中继日志中的事件,以达到数据同步的效果【莫名想起了历史重现(笑】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值