flume執行流程與事務(圖解)

一執行流程圖

在這裏插入圖片描述
1⃣️:Source 接受數據
2⃣️:Channel Processor 處理 Event
3⃣️:Channel Processor 將 Event 傳遞給 interceptor鏈對 Event 進行過濾操作
4⃣️:過濾完之後再把 Event 發送回 Channel Prodessor
5⃣️:Channel Processor把 Event 發送給Channel selectors
6⃣️:Channel selector返回Event 屬於哪個Channel
7⃣️:根據第6步返回的結果,將Event發送到指定的Channel
8⃣️:SinkProcessor從Channel中拉去數據
9⃣️:最後把數據Sink出去

二 事務

在這裏插入圖片描述

2.1 推送事務流程

doPut: 把批數據寫入到臨時緩衝區putList
doCommit: 檢查Channel容量是否足夠,如果容量足夠則把putList裏的數據發送到Channel
doRollBack:如果Channel容量不夠,則把數據回滾到putList

2.2 拉取事務流程

doTake:把數據讀取到臨時緩衝區takeList
doCommit:檢查數據是否發送成功,成功的話,則把event從takeList中移除
doRollBack:如何發送失敗,則把takeList的數據回滾數據到Channel

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章