文章目录
- 一执行流程图
- 二 事务
- 2.1 推送事务流程
- 2.2 拉取事务流程
一执行流程图
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
: 把批数据写入到临时缓冲区putListdoCommit
: 检查Channel容量是否足够,如果容量足够则把putList里的数据发送到ChanneldoRollBack
:如果Channel容量不够,则把数据回滚到putList
2.2 拉取事务流程
doTake
:把数据读取到临时缓冲区takeListdoCommit
:检查数据是否发送成功,成功的话,则把event从takeList中移除doRollBack
:如何发送失败,则把takeList的数据回滚数据到Channel