冲天香阵透长安,满城尽带黄金甲。这篇文章主要讲述goreplay 镜像nginx web app流量相关的知识,希望能为你提供帮助。
goreplay 是一个很不错的流量拷贝,复制工具,小巧,支持一些扩展,当然也提供了企业版,企业版
功能更强大,支持二进制协议的分析
备注: 演示使用docker-compose 运行,测试镜像流量到其他的两个web app (openresty)
环境准备
docker-compose 文件
version: "3"
services:
nginx:
build: ./
ports:
- "8080:80"
app:
image: openresty/openresty:alpine-fat
ports:
- "8090:80"
app2:
image: openresty/openresty:alpine-fat
ports:
- "8091:80"
包含goreplay 的docker 配置
- dockerfile
使用了一个tini 的工具,方便后台任务运行,同时因为wget 二进制包太慢,所以直接下载add 了
FROM openresty/openresty:alpine-fat
LABEL author="1141591465@qq.com"
COPY gor_0.16.1_x64.tar.gz .
RUN apk add --update & & apk add --no-cache tini \\
& & tar xzf gor_0.16.1_x64.tar.gz -C /usr/local/bin \\
& & rm gor_0.16.1_x64.tar.gz
ENV PATH=$PATH:/usr/local/bin
ADD entrypoint.sh /entrypoint.sh
ADD goreplay.sh /goreplay.sh
ENTRYPOINT ["/sbin/tini","-s", "--", "/entrypoint.sh"]
- entryppint.sh
#!/bin/sh
sh goreplay.sh
exec /usr/local/openresty/bin/openresty -g "daemon off; "
- goreplay.sh
goreplay 的运行命令,主要是进行流量的拷贝
#!/bin/sh
nohup goreplay --input-raw :80 --output-http "http://app" --output-http "http://app2" &
运行& & 效果 运行
docker-compose up -d
效果我们访问nginx 8080 端口,其他端口的也会有数据流量,通过查看日志即可,从下边的日志我们可以看出
nginx 日志较早,然后是app app2 请求时间是一样的
docker-compose logs -f
文章图片
说明【goreplay 镜像nginx web app流量】类似的可以使用nginx 自带的mirror 指令,或者tcpcopy 。。。,同时goreplay 也支持kafka 的集成,还是很方便的
参考资料https://github.com/buger/goreplay/wiki/Getting-Started
https://github.com/rongfengliang/goreplay-openresty-demo
推荐阅读
- virtualenv 和 virtualenvwrapper 使用教程
- androidrecyclerview+GalleryLayoutManager 实现广告画廊效果
- Flutter - 给App增加启动屏幕(Splash Screen)并且设置背景颜色
- spring BeanFactory和ApplicatContext
- Mac通过wifi连接 Android设备
- Windows10系统下wsappx占用CPU资源过高(wsappx是什么?如何关闭wsappx进程?)
- appJar 界面效果
- Android com.daimajia.slider.library.SliderLayout 去掉底部半透明标题背景
- Android系统-HAL