本文目录#

场景#

Flink CDC 捕获数据库变更,需要保证下游(Kafka、Hudi、数据库)的 Exactly-Once 。通过 Source 端增量快照 + TwoPhaseCommitSink 可实现端到端事务语义。

实施#

  • Debezium Source + incremental.snapshot.enabled=true
  • Sink 使用 TwoPhaseCommitSinkFunction 写入 Kafka/Hudi;
  • 配置 Checkpoint,确保 Source 与 Sink 的状态一致;
  • 在恢复时使用 Savepoint 恢复偏移。

自检清单#

  • 是否配置 Checkpoint 间隔与超时?
  • 是否在 sink 中实现幂等写入或两阶段提交?
  • 是否在恢复流程中验证 offset 正确?

参考资料#


本作品系原创,采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,转载请注明出处。