Canal有几个极度坑的问题。上游数据源有表结构变更,会导致表结构的metadata和缓存中的metadata不一致,如果启用了tsdb功能,会阻塞所有解析线程,有几个issue提了一年都没人处理。迫不得已关掉了tsdb功能,不缓存表结构的metadata,还要加个DDL变更的预警功能避免下游解析失败接锅😂😂。另外,如果用了阿里云的RDS-MySQL,它的binlog上传到OSS好像也是没有办法拖下来的,这个是第二个比较大的坑,目前增大了binlog保存的天数的文件数,扩容了RDS的空间,否则碰到了当前读到的binlog索引对应的文件已经上传到OSS,那么又要去找DAT文件或者Zookeeper里面把当前保存的文件名和索引值删了,重启,然后还会丢失一段binlog。选型的时候真没想到坑这么多,最新的版本还是19年发布的1.14,master分支又不敢手动打包,悲惨的是洗了头又不能不洗澡😂😂,下游已经开发了一大堆报表
展开
Throwable于2020-08-04 09:41发布的图片
2