天天看點

[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)局限性

繼續閱讀