❝本文详细介绍了在上游使用处理时间语义的 flink 任务出现故障后,重启消费大量积压在上游的数据并产出至下游数据乱序特别严重时,下游 flink 任务使用事件时间语义时遇到的大量丢数问题以及相关的解决方案。❞
本文分为以下几个部分:
-
「1.本次踩坑的应用场景」
-
「2.应用场景中发生的丢数故障分析」
-
「3.待修复的故障点」
-
「4.丢数故障解决方案及原理」
-
「5.总结」
应用场景
应用场景如下:
-
「flink 任务 A」 以「处理时间」语义做过滤产出新增 xx 明细数据至 「Kafka Y」
-
「flink 任务 B」 以「事件时间」语义消费 「Kafka Y」 做窗口聚合操作产出分钟级别聚合指标至 「Kafka Z」
-
「Kafka Z」 实时导入至 「Druid」 以做即时 OLAP 分析,并且展示在 BI 应用看板