Nginx整合Kafka

栏目: 后端 · 发布时间: 7年前

内容简介:©著作权归作者所有:来自51CTO博客作者兴趣e族的原创作品,如需转载,请注明出处,否则将追究法律责任

背景

nginx-kafka-module是nginx的一个插件,可以将kafka整合到nginx中,便于web项目中前端页面埋点数据的收集,如前端页面设置了埋点,即可将用户的一些访问和请求数据通过http请求直接发送到消息中间件kafka中,后端可以通过程序消费kafka中的消息来进行实时的计算。比如通过SparkStream来实时的消费Kafka中的数据来分析用户PV,UV、用户的一些行为及页面的漏斗模型转化率,来更好的对系统进行优化或者对来访用户进行实时动态的分析。

具体整合步骤

1.安装git
    yum install -y git
2.切换到/usr/local/src目录,然后将kafka的c客户端源码clone到本地
    cd /usr/local/src
    git clone https://github.com/edenhill/librdkafka
3.进入到librdkafka,然后进行编译
    cd librdkafka
    yum install -y gcc gcc-c++ pcre-devel zlib-devel
    ./configure
    make && make install

4.安装nginx整合kafka的插件,进入到/usr/local/src,clone nginx整合kafka的源码
    cd /usr/local/src
    git clone https://github.com/brg-liuwei/ngx_kafka_module

5.进入到nginx的源码包目录下   (编译nginx,然后将将插件同时编译)
    cd /usr/local/src/nginx-1.12.2
    ./configure --add-module=/usr/local/src/ngx_kafka_module/
    make && make install

6.修改nginx的配置文件:设置一个location和kafaka的topic,详情请查看当前目录的nginx.conf
#添加配置(2处)
kafka;
kafka_broker_list f1:9092 f2:9092 f3:9092;

location = /kafka/access {
            kafka_topic access888;
        }

如下图:

Nginx整合Kafka

Nginx整合Kafka

7.启动zk和kafka集群(创建topic)
    zkServer.sh start
    kafka-server-start.sh -daemon config/server.properties

8.启动nginx,报错,找不到kafka.so.1的文件
    error while loading shared libraries: librdkafka.so.1: cannot open shared object file: No such file or directory
9.加载so库
    #开机加载/usr/local/lib下面的库
    echo "/usr/local/lib" >> /etc/ld.so.conf
    #手动加载
    ldconfig

10.测试,向nginx中写入数据,然后观察kafka的消费者能不能消费到数据
    curl http://localhost/kafka/access -d "message send to kafka topic"
    curl http://localhost/kafka/access -d "小伟666"

测试

也可以模拟页面埋点请求接口来发送信息:

Nginx整合Kafka

后台Kafka消费信息如图:

Nginx整合Kafka

©著作权归作者所有:来自51CTO博客作者兴趣e族的原创作品,如需转载,请注明出处,否则将追究法律责任

好知识,才能预见未来

赞赏

0人进行了赞赏支持


以上所述就是小编给大家介绍的《Nginx整合Kafka》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

How to Build a Billion Dollar App

How to Build a Billion Dollar App

George Berkowski / Little, Brown Book Group / 2015-4-1 / USD 24.95

Apps have changed the way we communicate, shop, play, interact and travel and their phenomenal popularity has presented possibly the biggest business opportunity in history. In How to Build a Billi......一起来看看 《How to Build a Billion Dollar App》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具