- Flink设计与实现:核心原理与源码解析
- 张利兵
- 234字
- 2021-08-13 17:26:49
2.4 TimerService的设计与实现
在整个流数据处理的过程中,针对时间信息的处理可以说是非常普遍的,尤其在涉及窗口计算时,会根据设定的TimeCharacteristic是事件时间还是处理时间,选择不同的数据方式处理接入的数据。
那么在Operator中如何对时间信息进行有效的协调和管理呢?在每个Operator内部都维系了一个TimerService,专门用于处理与时间相关的操作。例如获取当前算子中最新的处理时间以及Watermark、注册不同时间类型的定时器等。我们已经知道,在ProcessFunction中会非常频繁地使用TimerService定义和使用定时器,以完成复杂的数据转换操作。接下来我们重点了解TimerService组件的设计和实现。