首先解释一下数据过热、延迟数据丢弃和数据反压的产生原因:
1.数据过热原因:
实时处理中的关键问题是检测数据流中的事件模式。复杂事件处理(CEP)恰好解决了对连续传入事件进行模式匹配的问题。 匹配的结果通常是从输入事件派生的复杂事件。 与对存储数据执行查询的传统DBMS相比,CEP在存储的查询上执行数据。 可以立即丢弃与查询无关的所有数据。 考虑到CEP查询应用于潜在的无限数据流,这种方法的优势是显而易见的。 此外,输入立即处理。 一旦系统看到匹配序列的所有事件,结果就会立即发出。 这方面有效地带来了CEP的实时分析能力。CEP现在用于诸如股票市场趋势和信用卡欺诈检测等金融应用,对于每个机架,都会监控功耗和温度。 无论何时发生这种测量,分别产生新的功耗或温度事件。 基于此监控事件流,我们希望检测即将过热的机架,并动态调整其工作负载和对其降温
解决方法:首先,我们监测温度事件,每当我们看到连续两次警告温度升高时,我们就会发出此机架的警报。 然后,该警报可以触发对冷却机架的对策
2.延迟数据丢弃:Flink的窗口处理流式数据虽然提供了基础EventTime的WaterMark机制(下一节讲),但是只能在一定程度上解决数据乱序问题。而某些极端情况下数据延迟会非常严重,即便通过WaterMark机制也无法等到数据全部进入窗口再进行处理。默认情况下,Flink会将这些严重迟到的数据丢弃掉</