知识卡片
侧输出机制处理迟到数据
内容
即使配了[[水位线与迟到数据的三种处理策略|允许迟到时间]]延长窗口的等待期,仍然会有数据晚到超出这个宽限期,这时框架不会静默丢弃它们,而是通过侧输出(side output)把这些”救不回来”的迟到数据单独引流到一个额外的输出通道,与主流程的正常输出彻底分开,业务代码可以单独订阅这个通道做二次处理(比如写入一张专门的异常表、报警或人工复核)。这本质上是一种”主干流程保持干净,例外情况单独开一条旁路”的设计模式,好处是主流程的类型和语义不会因为要兼容异常分支而变得复杂,出问题的数据也不会被无声吞掉,可以在系统边界之外单独被观察和处理,类似死信队列在消息系统里的角色。
参考来源
《Flink入门与实战》第3章《时间和窗口》