开发者社区 问答 正文

flink cdc 读取mysql binlog的顺序是严格的吗?我这读过来写到kafka 的时候顺

flink cdc 读取mysql binlog的顺序是严格的吗?我这读过来写到kafka 的时候顺序有点变化

展开
收起
真的很搞笑 2023-04-19 14:15:45 253 分享 版权
1 条回答
写回答
取消 提交回答
  • 资深技术专家。主攻技术开发,擅长分享、写文、测评。

    在Flink CDC中,通常情况下CDC会按照写入 Binlog 的顺序读取数据。但是需要注意两个点:

    在 TiCDC 中,Binlog 实现可能在特定场景下改变事件的排序。例如,在执行 DDL 语句和处理偶发冲突时,TiCDC 的工作方式可能不严格符合写入 Binlog 的顺序。但是这样做是出于保证 TiCDC 数据捕获更可靠的考虑。

    Flink 自身的异步子任务提取逻辑也可能会影响到 CDC 程序中所读取的顺序。例如使用异步 i/o 或者配置并行度等因素都可能对读取顺序造成影响,劣化读取性能或者使得读取顺序改变。

    2023-04-22 19:47:14
    赞同 展开评论