Flume Agent 内部原理
1.接收数据(Source)
2.处理事件(Channel Processor)
3.将事件传递给拦截器链(Interceptor-Interceptor)后又传回Channel Processor
4.将每个事件给Channel选择器(Channel Selector:有两种类型)
1)Replicatin Channel Selector(default):会将source过来的events发往所有channel,与interceptor共同使用,依照头文件的配置
2)Multiplexing Channel Selector:可以配置发往那些Channel
5.返回写入事件Channel列表(Channel Processor)
6.根据Channel选择器的选择结果,将事件写入相应Channel
7.经过SinkProcessor决定拉取channel到sink(SinkProcessor有三种类型)
1)DefaultSinkProcesoor:默认一个Channel和一个Sink连接
2)LoadBalancingSinkProcessor:Sink轮序从Channel拉取数据
3)FailoverSinkProcessor:配置Sink的优先级,如果Sink挂掉则下一个优先级最高的进行数据拉取,如果之前挂掉的优先级高的sink恢复了则其先进行数据的拉取