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/

回复