一、前言
上篇 MySQL Binlog实战应用之一 主要讲了BinLog的开启以及用MySQLBinLog读取BigLog二进制文件,但MySQLBinLog很难直接对接Java,所以有了Canal这个Alibaba开发的用于MySQL增量日志解析,提供增量数据的订阅和消费组件。
二、Canal原理
我们知道MySQL主从复制是Mster将数据变更写入BinLog,然后Slave将Master的BinLog拷贝到它的中继日志,最后重放中继日志完成将数据同步到Slave。
Canal其实它就是参考主从复制原理,将自己伪装成Slave,接收Master推送的二进制日志。
Cannel包括两部分
-
服务端:将自己伪装成Slave并从Master获取Binlog以供消费端使用。<