Flink Checkpoint与Exactly-Once:状态一致性与反压治理
概览
- Flink 通过 Checkpoint 与状态后端保障一致性;与两阶段提交 sink 配合实现端到端 Exactly-Once。
- 反压与恢复策略影响延迟与稳定性。
技术参数(已验证)
- Checkpoint:周期触发与 barrier 对齐;支持
unaligned checkpoints降低反压影响。 - 状态后端:RocksDB/HeapState;在大状态下优先 RocksDB 并调优 IO 与内存。
- 两阶段提交:
TwoPhaseCommitSink将偏移与写入在提交点原子化;避免重复写与丢失。 - Savepoint:用于有状态作业迁移与升级;区别于故障恢复的 Checkpoint。
- 观测:记录反压、Checkpoint 时长与失败;设定告警与回退策略。
实战清单
- 启用合适的 Checkpoint 间隔与超时;在长尾场景考虑
unaligned。 - 对 sink 采用两阶段提交或幂等写入;保持恢复路径幂等。
- 建立反压监控与调参手册;在变更前执行演练与压测。

发表评论 取消回复