Flink內部資料精準一次消費
Barrier對齊

- 流程
當一個算子上游有兩潭訓多條輸入時,在進行Checkpoint時可能會出現兩條流中資料流速不一樣,導致多條流同一批次的Barrier到達下游算子的時間不一致, 此時快的Barrier到達下游算子后,此Barrier之后到達的資料將會放到緩沖區,不會進行處理,等到其他流慢的Barrier到達后,此算子才進行checkpoint,然后把狀態保存到狀態后端,這就是Barrier的對齊機制, - 優缺點
1)優點:①狀態后端保存資料少,
2)缺點:①延遲性高(快的Barrier到達后會阻塞此條流的資料處理)②當作業出現反壓時,會加劇作業的反壓(當出現反壓時,資料本身就處理不過來,此時某條流的資料又阻塞了所以就會加劇反壓,)③整體chenkpoint時間變長(因為反壓會導致資料流速變慢,導致Barrier流的也慢,所以就會使得整體chenkpoint時間變長), - 優化
在Flink1.11后引入了Unaligned Checkpoint的特性,使得當Barrier不對齊的時候也可以實作資料的精準一次消費,
Barrier不對齊(Unaligned Checkpoint)

- 流程
當流速快的Barrier到達下游算子的input buffer后,此時會把這個Barrier插隊到此下游算子的output buffer最前面,然后把這個Barrier發生給之后的算子,同時對自身進行快照,這時的快照內容就是當時的狀態以及當時所有input buffer和output buffer以及流速慢的Barrier(這個流速慢的Barrier應該是當進行快照時就被移除了,并不會流下去)之前的資料都會保存到狀態后端當中,當之后恢復到此次checkpoint的時候,不對齊的資料會重新恢復到各個流中,雖然會重新進行計算,但是此時的狀態也是未計算之前的狀態, - 優缺點
1)優點:①加快checkpoint的進行②當作業出現反壓時不會造成反壓加劇,
2)缺點:①狀態后端保存資料多②進行狀態恢復的時比較慢,
Flink內部資料至少一次消費
Barrier不對齊
- 流程
這個不對齊和上邊的精準一次消費不對齊機制是不一樣的,當流速快的Barrier流到下游算子當中,此時不理會此Barrier,正常進行后續資料的計算,當流速慢的Barrier到來的時候,此時進行快照,此時進行快照時,會把流速慢的那條流中相同Barrier后的資料也進行計算一部分,然后把計算完的狀態保存到狀態后端,之后進行狀態恢復時,會把Barrier之后的資料進行重復,而此時狀態的結果是包含一部分Barrier之后的資料的 ,此時就會造成資料的重復消費問題, - 優缺點
1)優點:①不會阻塞資料,延遲低,
2)缺點:①造成資料的重復消費問題,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/423712.html
標籤:其他
上一篇:Flink常見機制
