Hello, 很有意思的话题,我理解这需要保证多个CDC数据源 的全局一致性, 多个业务表的 bin-log 通过 cdc接入flink后,得保证 每个数据源的写入目标库的时候有一个全局一致性的保证,这个底层的APi应该也支持不了的。 一种可能的思路是 抽取cdc 记录 的metadata里的 committed ts (原始数据库中每次变更的时间, debezuim 的source.ts_ms字段, canal的es 字段),通过这个时间来协调 多个 CDC 数据源的处理速度,这只是我的一个想法。
不过可以确定的是,目前的API应该拿不到这个信息,现在的 Flink 框架没法处理这个数据, 可以看下 一些CDC框架是否能做这个事情。 Best, Leonard Xu > 在 2020年7月8日,13:18,jindy_liu <286729...@qq.com> 写道: > > 对的,只不过生产中,有些设计的时候外键没有显示声明,都是用流程保证更新表的顺序。 > 所以消费数据变化的时候,也是要按顺序消费。不然使用镜像数据的人,可能会出问题。 > > 求教:除flink sql 的cdc功能外,flink的其它特性能否较好的支持这种场景呢? 需要写再底层点的api吗? > > > > -- > Sent from: http://apache-flink.147419.n8.nabble.com/