![5368ea7f032a0916a2b865703243dbc8.png](https://img-blog.csdnimg.cn/img_convert/5368ea7f032a0916a2b865703243dbc8.png)
实际上,该项目目前已经发布到1.1.5-alpha版本,不仅仅支持数据变更抓取,还支持数据同步、admin配置管理,已经非常完善。https://github.com/alibaba/canal
简介
Canal是阿里巴巴的一个开源项目,它同样实现了Mysql变更抓取(Binlog解析),并提供了订阅功能。应该是阿里云DTS(Data Transfer Service)的开源版本。提供的功能
Canal与DTS提供的功能基本相似: 1)基于Mysql的Slave协议实时dump binlog流,解析为事件发送给订阅方; 事件格式为(省略一些域后的伪码):Eevnt {
Header {
logfileName [binlog文件名]
logfileOffset [binlog position]
executeTime [binlog里记录变更发生的时间戳]
schemaName [数据库实例]
tableName [表名]
eventType [insert/update/delete类型]
}
entryType [事务头BEGIN/事务尾END/数据ROWDATA]
storeValue [byte数据,可展开,对应的类型为RowChange]
isDdl [是否是ddl变更操作&#