fluent-kafka模块

fluent-kafka用于转发fluentd数据到kafka

git地址:https://github.com/fluent/fluent-plugin-kafka

安装方法:

gem 'fluent-plugin-kafka'

配置方式贡文大哥已经在KB界面给出了

http://www.uyunsoft.cn/kb/pages/viewpage.action?pageId=16024522#id-【01-02】分布式统一日志平台--实施手册-6、fluent优化


打开插件的源码,可以看到工程核心代码都在lib/fluent/plugin路径下:

in_kafka.rb (输入模块)

in_kafka_group.rb (带group的输入模块)

kafka_plugin_util.rb (util工具类)

kafka_producer_ext.rb (消息Producer类)

out_kafka.rb (不带buffer的输出模块)

out_kafka_buffered.rb (带buffer的输出模块)

Ruby也有OOP的语言特性


两个输入模块继承了大哥fluentd的方法Fluent::Input


两个输出模块模块继承了大哥fluentd的方法Fluent::Output


每个文件开头config_param是一些XML的解析字段,解析完成之后这些XML字段会直接变成常量参数,供代码调用。


其他的就是一些基本的方法,看看方法名应该就能猜出这个方法是做什么的:


kafka_producer_ext.rb模块主要是对message的一个封装:


总的来说fluent-plugin-kafka是对fluentd的一个override,根据kafka的一些特性封装了一些接口,供fluentd跟kafka对接。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,256评论 19 139
  • kafka的定义:是一个分布式消息系统,由LinkedIn使用Scala编写,用作LinkedIn的活动流(Act...
    时待吾阅读 5,395评论 1 15
  • Kafka入门经典教程-Kafka-about云开发 http://www.aboutyun.com/threa...
    葡萄喃喃呓语阅读 10,897评论 4 54
  • ** 今天看了一下kafka官网,尝试着在自己电脑上安装和配置,然后学一下官方document。** Introd...
    RainChang阅读 5,063评论 1 30
  • Kafka官网:http://kafka.apache.org/入门1.1 介绍Kafka™ 是一个分布式流处理系...
    it_zzy阅读 3,930评论 3 53