零、不废话先说结论
1.Flume不能代替Canal实时同步Mysql的Binlog数据(内部机制不支持);
2.Flume可以实现实时同步Mysql的数据(插件的方式);
下面是具体的结论理由推断;
一、Canal在同步Mysql的Binary log的作用
功能上看
1.master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events, 可以通过show binlog events进行查看);
2.slave将master的binary log events 拷贝到它的中继日志(relay log);
3.slave重做中继日志中的事件,将改变反应它自己的数据;
工作原理
1.canal模拟mysql slave的交互协议,伪装自己为mysql的slave,向mysql master 发送dump协议;
2.mysql master收到dump请求,开始推送binary log给slave(也就是canal);
3.canal解析binary log对象(原始为byte流);
二、