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();

  • 相关阅读:
    react文本溢出hover气泡显示全部文本——JS判断文本溢出
    ecosystem.config
    git删除中间某次提交
    HTML5 新元素
    HTML5存储
    简述LVS(Linux虚拟服务器)
    简述线程池
    网络协议基础
    JVM常用性能检测工具
    线程间的“通信”方法
  • 原文地址:https://www.cnblogs.com/chinda/p/6125869.html
Copyright © 2011-2022 走看看