1. 概述
2. 状态一致性分类
2.1. AT-MOST-ONCE
2.2. AT-LEAST-ONCE
2.3. EXACTLY-ONCE
Flink
使用checkpoint
保证EXACTLY-ONCE
3. 端到端状态一致性
Flink
通过快照机制和Barrier
来实现一致性的保证,当任务中途crash
或者cancel
之后,可以通过checkpoing
或者savepoint
来进行恢复,实现数据流的重放。从而让任务达到一致性的效果,这种一致性需要开启exactly_once
模式之后才行。需要记住的是这边的
Flink
exactly_once
只是说在Flink
内部是exactly_once
的,并不能保证与外部存储交互时的exactly_once
,如果要实现外部存储连接后的exactly_once
,需要进行做一些特殊的处理。