Categories: DevOps

nginx流量复制技巧

nginx在版本1.13.4后新增了一个流量复制的模块ngx_http_mirror_module, 这个模块可以通过创建子请求将请求转发至mirror端,直接请求mirror的请求将会被忽略。流量复制的功能在很多场景下都会用到比如模拟正式请求、正式请求监控等。

具体例子:

location / {
    mirror /mirror;
    proxy_pass http://backend;
}

location = /mirror {
    internal;
    proxy_pass http://test_backend$request_uri;
}

参考链接

流量复制的场景

风险性能和质量保证测试

在高并发,大数据场景下,有时上线一个新的功能,正式环境没法预估线上的QPS大小,这时就可以导入一部分正式环境的流量到预发环境,模拟正式的流量,消除风险。

应用程序监视

应用程序监视会消耗大量宝贵的资源。与其在所有生产应用程序主机上安装代理来浪费它们,还不如专门使用一台服务器或一组服务器来将所有请求镜像到这些服务器。

分析

与应用程序监视类似,捕获分析通常需要在生产服务器上安装代理。从这些服务器上卸下负担,把它们放到其他地方。通过将所有请求镜像到您的分析后端,您可以在不影响生产服务器的情况下捕获相同的数据。

文件上传

可能服务器后面有多个后端,可以通过流量复制将文件上传到多个后端上。

5.0
01
linux: 命令行下查看磁盘的大小
Supervisord进程管理工具
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Recent Posts

Replit是一个强大的在线集成AI开发环境

Replit是一个强大的在线集…

21小时 ago

AutoLink一款SEO策略AI优化工具

AutoLink AI为内部链…

22小时 ago

wordpress侧边栏酷炫倒计时小工具

每个WordPress站点都值…

22小时 ago

如何在Linux中根据修改日期和时间查找和排序文件

习惯于使用图形用户界面的人可以…

2天 ago

Golang中如何实现PHP中array_fill函数?

PHP中的array_fill…

2天 ago