Canal的理解和应用

Canal是阿里的开源工具,用于同步MySQL数据库变更。

可以监听数据库的变化,从而获取新增数据,或者修改的数据。

Canal在项目中用于数据增量同步操作,可以将数据同步到redis,其他MySQL,ES等。

 

mysql主从复制实现:

  1. 主服务器将更改记录到binlog中(这些记录称为binlog事件,可以通过来查看show binary events
  2. 从服务器将主服务器的二进制日志事件复制到其中继日志。
  3. 中继日志中的从服务器重做事件将随后更新其旧数据。

canal运作原理:

  1. Canal模拟MySQL从站的交互协议,伪装成MySQL从站,然后将转储协议发送到MySQL主服务器。
  2. MySQL Master接收到转储请求,并开始将二进制日志推送到slave(即运河)。
  3. 运河将二进制日志对象解析为其自己的数据类型(最初为字节流)。
posted @ 2020-07-13 12:55  会飞的猪、li  阅读(514)  评论(0编辑  收藏  举报