博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单版nginx lua 完成流量上报于中间件
阅读量:4683 次
发布时间:2019-06-09

本文共 1558 字,大约阅读时间需要 5 分钟。

本文链接:

公司某些业务下,需要将请求的流量上报于中间件(kafka,rabbitMq等),让storm等去实时消费,进行缓存更新等热数据统计。

大概如下:

wget https://github.com/doujiang24/lua-resty-kafka/archive/master.zipyum install -y unzipunzip lua-resty-kafka-master.zipcp -rf /usr/local/lua-resty-kafka-master/lib/resty /usr/hello/lualibnginx -s reloadlocal cjson = require("cjson")  local producer = require("resty.kafka.producer")  local broker_list = {      { host = "192.168.31.187", port = 9092 },      { host = "192.168.31.19", port = 9092 },      { host = "192.168.31.227", port = 9092 }}local log_json = {}  log_json["headers"] = ngx.req.get_headers()  log_json["uri_args"] = ngx.req.get_uri_args()  log_json["body"] = ngx.req.read_body()  log_json["http_version"] = ngx.req.http_version()  log_json["method"] =ngx.req.get_method() log_json["raw_reader"] = ngx.req.raw_header()  log_json["body_data"] = ngx.req.get_body_data()  local message = cjson.encode(log_json);  local productId = ngx.req.get_uri_args()["productId"]local async_producer = producer:new(broker_list, { producer_type = "async" })   local ok, err = async_producer:send("access-log", productId, message)     # 发送商品id和消息if not ok then      ngx.log(ngx.ERR, "kafka send err:", err)      return  end

kafka

bin/kafka-topics.sh --zookeeper 192.168.31.187:2181,192.168.31.19:2181,192.168.31.227:2181 --topic access-log --replication-factor 1 --partitions 1 --createbin/kafka-console-consumer.sh --zookeeper 192.168.31.187:2181,192.168.31.19:2181,192.168.31.227:2181 --topic access-log --from-beginning

 

转载于:https://www.cnblogs.com/zhenghongxin/p/9131226.html

你可能感兴趣的文章
Telink MESH SDK 如何使用PWM
查看>>
LR SP PC
查看>>
C# 图片识别(支持21种语言)【转】
查看>>
jQuery基础教程
查看>>
P2709 小B的询问
查看>>
第三组的抓包作业
查看>>
ILNumerics项目的应用之线性方程
查看>>
django考点
查看>>
python-socket
查看>>
python day2 模块初识、pyc定义
查看>>
基础数据结构
查看>>
WebApi2官网学习记录---单元测试
查看>>
Backbone.js源码分析(珍藏版)
查看>>
完全背包问题
查看>>
滴水穿石-09多线程
查看>>
[树形dp] Jzoj P1162 贪吃的九头龙
查看>>
Jquery 相关笔记
查看>>
利用表单发送邮件
查看>>
计算机一族必喝的四杯茶
查看>>
linux 下的ssh免密登陆设置
查看>>