zoukankan      html  css  js  c++  java
  • Flume组件source,channel,sink源码分析

    LifeCycleState:

    IDLE, START, STOP, ERROR

    [Source]: org.apache.flume.Source

             继承LifeCycleAware{stop() + start() + getLifeCycleState()} + NamedComponent{getName() + setName()}

             产生事件(Event),调用通道处理器(ChannelProcessor)的方法,将事件(Event)持久化到通道(Channel)中。

    [Channel]: org.apache.flume.Channel

             继承LifeCycleAware{stop() + start() + getLifeCycleState()} + NamedComponent{getName() + setName()}

             将source(Event生产者)和sink(Event消费者)进行关联,Channel本是一个缓存(buffer),通道是线程安全的。

             put(Event e);                                                   //向Channel中放置事件(Event)

        take();                                                            //从Channel中提取事件(Event)

             Transaction getTransaction()                          //获取Channel事务

    [Sink]: org.apache.flume.Sink

             继承LifeCycleAware{stop() + start() + getLifeCycleState()} + NamedComponent{getName() + setName()}

             连接到Channel,消费内容,发送给目的地。

             可以按照行为进行分组化(SinkGroup | SinkProcessor)

             Channel getChannel();

             setChannel(Channel ch);

             Status process();

  • 相关阅读:
    GL线程
    Texture,TextureRegion,Sprite,SpriteBatch
    设置壁纸
    CentOS7下安装MySQL,修改端口
    读《大道至简》有感
    课程作业01汇总整理
    读《大道至简》有感(伪代码)
    01实验性问题总结归纳
    oracle日期时间的加减法
    C# 根据年、月、周、星期获得日期等
  • 原文地址:https://www.cnblogs.com/chinda/p/6125869.html
Copyright © 2011-2022 走看看