[Flink基础]-- 一致性的3个级别

Flink 是流处理器,那么同样会涉及到一致性的3个级别,他们分别如下

1、at-most-once

这其实是没有正确性保障的委婉说法,故障发生后,计数可能丢失。

2、at-least-once

这表示计数结果可能大于正确值,但是绝不会小于正确值,即计数程序发生故障后可能多算,但是绝不会少计算。

3、exactly-once

这是指系统保证在故障发生后得到的计数结果与正确值一致。

 

保证 exactly-once 不易

1、第一代流处理器只能保证 at-least-once

Storm 和 Samza

2、第二代流处理器

Storm trident 和 Spark streaming,但是必须要在效率和低延迟之间做出权衡。

3、第三代流处理器

Flink,保证了exactly-once ,同时具有高吞吐和低延迟。

4、原因有如下2点

(1)保证 exactly-once 的实现比较复杂

(2)局限性

 

 

 

你可能感兴趣的:(Flink,Spark)