nginx mirror流量镜像详细介绍以及实战示例
1.nginx mirror作用
为了便于排查问题,可能希望线上的请求能够同步到测试环境,以便于验证某些功能;或者是在多个环境的情况下,希望能够将某些请求在几个环境中同步,比如调用环境A接口保存的数据,也需要在环境B、环境C中保存。而如果没有特别配置,则这个请求就只在当前环境中生效,这无法满足我们的需求。于是,我们需要引入流量镜像这一概念。
2.nginx安装
注意:nginx 1.13.4及后续版本才包含内置ngx_http_mirror_module模块,提供流量镜像(复制)的功能。
使用docker-compose安装nginx。本文使用的nginx版本为1.22.0.若还没有安装docker-compose的可以点击这里 查看教程。
拉取镜像:docker pull nginx:1.22.0
配置docker-compose.yml
version: "3.3"
services:
mynginx:
container_name: mynginx
image: nginx:1.22.0
# volumes:
# - ./conf/nginx.conf:/etc/nginx/nginx.conf
# - ./conf/conf.d:/etc/nginx/conf.d
# - ./log/nginx:/var/log/nginx
ports:
- "19096:19096"
- "80:80"
networks:
- test-network
privileged: true
deploy:
replicas: 1
update_config:
parallelism: 2
delay