# 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 管理。 - 结合事件时间与迟到窗口策略,避免乱序影响结果。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部