Source
Source是Flume的数据来源,来源的类型多样化,可以是监听一个文件的变化、一个文件夹的变化,可以是接收JMS消息,或者是监听一个网络端口等。Source至少要连接一个Channel,但是Event写入Channel不是由Source来完成的,每个Source都有自己的Channel处理器,Source每次写Event到Channel时,都由Channel处理器来完成。
1、Source收集数据
2、Source收集到数据后,交给Channel处理器
3、Channel处理器将事件传给Source配置的一个或者多个拦截器,拦截器处理完事件后,返回Channel列表
拦截器是一段代码,可以基于某些它完成的处理来读取事件或者修改和删除事件。如同正则表达式。每个Source可以配置多个拦截器,按照配置中定义的顺序被调用,将拦截器的结果传递给链的下一个单元,这就是所谓的责任链的设计模式。
4、再次传递给Channel选择器。
5、Channel选择器可以根据事件的具体应用,来决定每个事件必须写入到哪个Channel,以及哪些Channel时必需的或可选的。
6、将所有的事件写入