Flume本身提供了较为简易地流式结构,使得开发者能够较为简易和方便地搭建Flume的流动模型。
Flume中,通过Agent之间相互组合,可以构成复杂的流动模型,包括:单级流动,多级流动,扇入流动,扇出流动以及复杂流动。
单级流动(Agent Flow) :
即只有1个Agent组成,数据经过Source采集,通过Sink写入目的地,经过一次流动即可。
在单个 Agent 内由单个 Source, Channel, Sink 建立一个单一的数据流模型,如下图所示,整个数据流为 Web Server --> Source --> Channel --> Sink --> HDFS。
多数据流模型
又叫串联流动,是由2个及以上的Agent串联组成,数据需要流经多个Agent才能写到目的地
1)多 Agent 串行传输数据流模型
2)多 Agent 汇聚数据流模型(扇入流动)
比如多条河流有各自的蓄水库,再由各自的水库向城市供水
3)单 Agent 多路数据流模型
扇出流动(Multiplexing the flow),又叫复用流动,是将数据分别传输给多个Agent,写入多个目的地
复杂流动(Flexible Flow),按照项目需求,将上述流动模型进行组合,构成的就是复杂流动。