前言
canal是实现mysql数据备份,异地灾备,异地数据同步等重要的中间件,在实际的业务场景中有着广泛的使用,本文基于小编所在项目中一个异地数据同步的场景为例,通过案例演示下利用canal实现mysql数据同步的过程
同步原理
如上图所示,为canal同步mysql数据的原理的简单示意图,归纳如下:
- canal 模拟mysql slave 的交互协议,伪装自己为mysql slave,向mysql master 发送dump 协议。
- mysql master 收到dump请求,开始推送binary log给canal (slave)
- canal解析binary log对象(原始为byte流)
如果亲手配置过mysql读写分离架构的同学ÿ