- Flume中的事务有两处,分别是Source向Channel推送数据时和Sink在Channel中拉取数据时。
- 向Channel推送数据,通过doPut将Source中的数据放在临时缓冲区putList中。提交时,检查Channel内存队列中是否有空间能够写入数据。如果能就写入,如果不能就rollback,并且向Source返回此次event。
- 在Channel拉取数据时,doTake先将数据存入临时缓冲区takeList中,如果提交过程中发生了异常,将takeList缓冲区中的数据归还给Channel队列,清空takeList缓冲区。
Flume事务工作机制
最新推荐文章于 2023-04-16 20:55:03 发布