Flume源码分析—代码结构理解(四)
2016-06-05 09:59
417 查看
Flume源码涵盖的内容很多,但大家在读取Flume源码时可以去除枝叶,把握核心部分,可以有效的减轻源码分析的工作量。我使用的Flume-NG源码的版本为1.6.0,其他版本的源码可以参照分析。
根据Flume的基本原理,flume主要由source、sink以及channel三个组件组成,为了方便广大用户使用flume,flume项目组也是花了很多心思做了大量的组件来适配当前主流的源、目标以及channel。其源码中的包名如下所示,大家从包名中就很容易看出相应组件的作用。
flume在组织这些组件是通过event来进行消息的传递,flume源码的核心功能在于根据配置文件来调用相应的source、channel、sink来进行消息的流转。分析源码时可以先选择flume源码的核心来理解整个平台的工作流程,从而加深对flume的理解。
flume整体框架的核心在于以下几个包,当然个别包也只是起到一定的辅助作用。
后续将对flume的核心框架进行分析。
内容参考:
Flume-NG源码分析-整体结构及配置载入分析
玩转Flume之核心架构深入解析
根据Flume的基本原理,flume主要由source、sink以及channel三个组件组成,为了方便广大用户使用flume,flume项目组也是花了很多心思做了大量的组件来适配当前主流的源、目标以及channel。其源码中的包名如下所示,大家从包名中就很容易看出相应组件的作用。
source: /flume-avro-source /flume-jms-source /flume-kafka-source /flume-ng-legacy-sources /flume-ng-sources /flume-scribe-source /flume-thrift-source /flume-twitter-source
sink: /flume-dataset-sink /flume-hdfs-sink /flume-hive-sink /flume-irc-sink /flume-kafka-sink /flume-ng-elasticsearch-sink /flume-ng-hbase-sink /flume-ng-kafka-sink /flume-ng-morphline-solr-sink /flume-ng-sinks
channel: /flume-file-channel /flume-jdbc-channel /flume-ng-channels /flume-spillable-memory-channel
flume在组织这些组件是通过event来进行消息的传递,flume源码的核心功能在于根据配置文件来调用相应的source、channel、sink来进行消息的流转。分析源码时可以先选择flume源码的核心来理解整个平台的工作流程,从而加深对flume的理解。
flume整体框架的核心在于以下几个包,当然个别包也只是起到一定的辅助作用。
/flume-ng-node /flume-ng-sdk /flume-ng-auth /flume-ng-configuration /flume-ng-core /flume-ng-dist /flume-parent /flume-tools
后续将对flume的核心框架进行分析。
内容参考:
Flume-NG源码分析-整体结构及配置载入分析
玩转Flume之核心架构深入解析
相关文章推荐
- TP框架钩子函数
- C++运算符优先级
- GDI 编程基础简介
- 求一维数组的最小公倍数
- c++访问权限之构造和析构函数说明
- java学习:基于Java构建微服务
- Python编程规范
- 转 Python爬虫实战一之爬取糗事百科段子
- 内省(Introspector)操作JavaBean的属性
- C#动态绘制心率折线图(串口通信)
- thinkphp中模板替换
- ThinkPHP函数详解:U方法
- 2016年团体程序设计天梯赛-初赛 - 后天 - Java
- 2016年团体程序设计天梯赛-初赛 - 奇偶分家 - Java
- 2016年团体程序设计天梯赛-初赛 - 重要的话说三遍 - Java
- 宏 —— C/C++ 黑魔法
- Markdown 图片助手 v0.1
- 如何实现高效的并发编程
- 2016年团体程序设计天梯赛-初赛 - 谁先倒 - Java
- 高精度反三角函数的实现