put事务 推送数据流程<br>
doput写入到临时缓冲区dolist<br>
doCommit 检查channel内存队列是否足够容纳数据 满足提交 不满足回滚<br>
doRollback<br>
事务提交失败回滚数据到putList<br>
take事务 拉取事务流程<br>
doTake Sink将数据从Channel取到临时缓冲区takeList<br>
doCommit 如果数据成功发送成功,则清除akeList中的数据<br>
doRollback 数据发送过程中若出现异常 回滚事务 tackList将事务放回Channel<br>
Event
source
外部数据源获取到数据后,会将数据封装成 Event 对象
channel
会暂存这些 Event,等待 Sink 来拉取
sink
将 Event 中的数据写入到 HDFS