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

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