Flink Exactly-Once 语义(Checkpoint、Two-Phase Commit、状态后端)概述Flink 通过一致性检查点与两阶段提交实现端到端 Exactly-Once。状态后端影响性能与可靠性。关键实践与参数Checkpoint:周期(如 10–60s)、超时与最小间隔;启用 `unaligned checkpoints` 缓解背压。Two-Phase Commit:Source/Sink 支持事务提交与回滚;保证端到端一致性。状态后端:RocksDBStateBackend 与 HashMap(内存);权衡性能与资源。验证方法故障注入与恢复后比对端到端一致性;观察丢失与重复处理率。监控 Checkpoint 成功率与耗时;背压指标与吞吐变化。对事务性 Sink 的提交日志进行审计。注意事项事务源与汇需支持;不支持场景退化到 At-Least-Once 并配合幂等。状态大小与快照开销;合理划分与 TTL 管理。结合事件时间与迟到窗口策略,避免乱序影响结果。

发表评论 取消回复