
如图:奇数和偶数分流分别计算
概念
- 计算结果要保证准确。
- 一条数据不应该丢失,也不应该重复计算。
- 遇到故障时可以恢复状态,恢复以后的重新计算结果应该也是完全正确的。
状态一致性分类(级别)
-
AT-MOST-ONCE(最多一次)
当任务故障时,最简单的做法是什么都不干,既不恢复丢失的状态,也不重播丢失的数据。即最多处理一次事件。 -
AT-LEAST-ONCE(至少一次)
(不能保证数据不被重复处理)
在大多数真实应用场景,我们希望不丢事件。但是有些事件还可能被处理多次。 -
EXACTLY-ONCE(精确一次)
恰好处理一次是最严格的保证,恰好处理一次语义不仅仅意味着没有事件丢失,还意味着针对每个数据只处理一次
(checkpoint存盘方式)
一致性检查点(checkpoints)
- Flink使用了一种轻量级快照机制--检查点checkpoint来保证exactly-once语义。
- 有状态流应用的一致性检查点实质时所有任务的状态在某个时间点的一份拷贝(一份快照)。而这个时间点应该是所有任务恰好处理完一个相同的输入数据的时间点。

问题:2+4=6,1+3+5=9,当source为6时,内

本文探讨了流处理应用中的状态一致性问题,包括不同级别的状态一致性定义、如何通过检查点(checkpoint)机制达到精确一次(exactly-once)的处理语义,以及端到端的状态一致性保证。文章还讨论了幂等写入与事务写入的概念,并介绍了预写日志和两阶段提交等技术。
最低0.47元/天 解锁文章
463





