做外贸有必要做个网站吗/网推项目平台
流量镜像 (Traffic Mirroring),也称为流量影子 (Traffic Shadowing),是一种强大的、无风险的测试应用版本的方法,它将实时流量的副本发送给被镜像的服务。
采用这种方法,您可以搭建一个与原环境类似的环境以进行验收测试,从而提前发现问题。由于镜像流量存在于主服务关键请求路径带外,终端用户在测试全过程不会受到影响。
nginx_http_mirror_module模块特性
利用 mirror 模块,可以将线上实时流量拷贝至其他环境同时不影响源站请求的响应,因为 Nginx 会丢弃 mirror 的响应
mirror 模块可用于以下几个场景:
- 通过预生产环境测试来观察新系统对生产环境流量的处理能力
- 复制请求日志以进行安全分析
- 复制请求用于数据科学研究
将生产环境的流量拷贝到预上线环境或测试环境的好处:
- 可以验证功能是否正常,以及服务的性能;
- 用真实有效的流量请求去验证,又不用造数据,不影响线上正常访问;
- 这跟灰度发布还不太一样,镜像流量不会影响真实流量;
- 可以用来排查线上问题;
- 重构,假如服务做了重构,这也是一种测试方式;
Nginx的流量镜像是只复制镜像,发送到配置好的后端,但是后端响应返回到nginx之后,nginx是自动丢弃掉的,这个特性就保证了镜像后端的不管任何处理不会影响到正常客户端的请求。
复制的镜像请求和原始请求是相关联的,只要镜像请求没有处理完成,原始请求就会被阻塞
Nginx 如何实现流量镜像
当请求到达 Nginx 时,如果 Nginx 开启了流量镜像功能,就会将请求复制一份,并根据 mirror location 中的配置来处理这份复制的请求。复制的镜像请求和原始请求是相关联的,按照我的理解,只要镜像请求没有处理完成,原始请求就会被阻塞。如果镜像请求响应很缓慢,原始请求就会被阻塞。
Nginx 流量镜像配置
upstream bd_interface {server 10.1.1.1:8080;check interval=3000 rise=2 fall=5 timeout=2000 type=http;check_http_send "HEAD / HTTP/1.0\r\n\r\n";check_http_expect_alive http_2xx http_3xx http_4xx;
}#镜像流量也可以负载均衡
upstream mirror_interface1 {server 10.2.1.1:9090;check interval=3000 rise=2 fall=5 timeout=2000 type=http;check_http_send "HEAD / HTTP/1.0\r\n\r\n";check_http_expect_alive http_2xx http_3xx http_4xx;
}#镜像流量也可以负载均衡
upstream mirror_interface2 {server 10.3.1.1:9090;check interval=3000 rise=2 fall=5 timeout=2000 type=http;check_http_send "HEAD / HTTP/1.0\r\n\r\n";check_http_expect_alive http_2xx http_3xx http_4xx;
}server {listen 80;server_name xxx;access_log logs/bd-interface.log access_json;charset utf8;client_max_body_size 800M;gzip on;gzip_min_length 5k;gzip_comp_level 8;gzip_types application/javascript text/css text/javascript image/jpeg image/gif image/png application/json;proxy_read_timeout 600s;proxy_connect_timeout 600s;proxy_send_timeout 600s;location / {mirror /mirror1;mirror /mirror2; #两份镜像mirror_request_body on;proxy_http_version 1.1;proxy_pass http://bd_interface;proxy_next_upstream http_500 http_502 http_503 http_504 http_403 http_404 http_429 error timeout invalid_header non_idempotent;proxy_redirect off;proxy_set_header Host $host:$server_port;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_connect_timeout 20;proxy_read_timeout 1000;proxy_send_timeout 300;proxy_buffer_size 64k;proxy_buffers 32 32k;proxy_busy_buffers_size 128k;}location /mirror1 {internal; #只有内部请求可以调用proxy_pass http://127.0.0.1:10991$request_uri; #配置镜像日志,mirror本身不支持日志proxy_set_header X-Original-URI $request_uri;}location /mirror2 {internal; #只有内部请求可以调用proxy_pass http://127.0.0.1:10992$request_uri; #配置镜像日志,mirror本身不支持日志proxy_set_header X-Original-URI $request_uri;}#状态监控location /nginx_status {stub_status on;access_log off;}#状态监控location /check_status {check_status;access_log off;}
}server {listen 10992;server_name 127.0.0.1;client_max_body_size 800M;proxy_read_timeout 600s;proxy_connect_timeout 600s;proxy_send_timeout 600s;access_log logs/bd-interface.log access_json;location / {proxy_pass http://mirror_interface2;}
}server {listen 10991;server_name 127.0.0.1;client_max_body_size 800M;proxy_read_timeout 600s;proxy_connect_timeout 600s;proxy_send_timeout 600s;access_log logs/bd-interface.log access_json;location / {proxy_pass http://mirror_interface1;}
}
Nginx流量拷贝的注意事项
mirror_request_body/proxy_pass_request_body与Content-Length需配置一致。如果mirror_request_body
或者proxy_pass_request_body
设置为 off
,则Content-Length
必须设置为""
,因为nginx(mirror_request_body)
或tomcat(mirror_request_body)
处理post请求时,会根据Content-Length
获取请求体,如果Content-Length
不为空,而由于mirror_request_body
或者proxy_pass_request_body
设置为off
,处理方以为post有内容,当request_body
中没有,处理方会一直等待至超时。mirror_request_body
为off
,nginx
会报upstream
请求超时;proxy_pass_request_body
为off,tomcat会报异常。
参考文章
Nginx流量镜像 - 掘金
相关文章:

nginx mirror 流量镜像
流量镜像 (Traffic Mirroring),也称为流量影子 (Traffic Shadowing),是一种强大的、无风险的测试应用版本的方法,它将实时流量的副本发送给被镜像的服务。 采用这种方法,您可以搭建一个与原环境类似的环境以进行验收测试ÿ…...

霉霉说地道中文,口型、卡点几乎完美,网友:配音时代结束了?
ChatGPT狂飙160天,世界已经不是之前的样子。 新建了人工智能中文站 每天给大家更新可用的国内可用chatGPT资源 更多资源欢迎关注 「给电影配音的时代即将结束了。」 AI 的发展让很多人直呼饭碗被抢了,以前是艺术家、程序员…… 现在配音员也要失业了&a…...

【生活】相机/图像各参数
文章目录 专业模式图片编辑-滤镜实体滤镜软件模拟滤镜 图片编辑-增强曝光亮度对比度饱和度自然饱和度色温色调高光阴影HSL色调分离褪色颗粒锐化晕影清晰度暗角 参考 专业模式 第一个参数WB是白平衡,调节色彩的。 第二个是对焦F,近距离拍摄物体…...

白酒:浓香型白酒的典型代表与特点
云仓酒庄的豪迈白酒作为白酒的品牌,具有一系列与众不同的特点和优势。下面云仓酒庄的豪迈白酒将从典型性、品质、口感和包装等方面深入分析白酒的特点,以及它如何体现浓香型白酒的魅力。 浓香型白酒是中国白酒的重要分支,以浓郁的香味和与众不…...

百万组通用编码器 L1527芯片产品介绍,重码率很低
L1527 是 CMOS 结构的预烧内码(遥控中的地址码)通用编码器,内有 20 位可预烧写 100 万组内码组合,使得重码率很低,具有更高安全性。芯片内集成误操作禁止功能,在按键输入有效且状态不变时,芯片连…...

2024年有哪些证书值得考?推荐这四个
一句老话说得好,技多不压身,在工作中,也能够提升自身的竞争力。对于大多数人来说,考“证”也许是另一种提升自己的途径。那么在新的一年中,有哪些证书值得我们去拼一拼呢?一起来看看吧! 免费送备考资料。联系我们&am…...

下载最新VMware,专业版本
VMware - Delivering a Digital Foundation For BusinessesRun any app on any cloud on any device with a digital foundation built on VMware solutions for modern apps, multi-cloud, digital workspace, security & networking.https://www.vmware.com/ 官网地址...

卷积神经网络-卷积层
卷积神经网络-卷积层 1多层感知机(MLP)2卷积神经网络(CNN)3MLP和CNN关系与区别4仍然有人使用MLP的原因:5MLP的局限性:MLP的应用领域:总结:6全连接到卷积全连接层 vs 卷积层结构差异应…...

yolov8 pose keypoint解读
yolov8进行关键点检测的代码如下: from ultralytics import YOLO# Load a model model YOLO(yolov8n.pt) # pretrained YOLOv8n model# Run batched inference on a list of images results model([im1.jpg, im2.jpg]) # return a list of Results objects# Pr…...

kubernetes-Pod基于污点、容忍度、亲和性的多种调度策略(一)
Pod调度策略 一.标签1.什么是标签2.给Pod资源打标签3.给Node节点打标签4.查看标签资源 二.Node选择器1.nodeName(指定Pod调度到指定Node节点)2.nodeSelector(指定Pod调度到具有指定标签的Node节点) 三.亲和性1.Node亲和性-nodeAffinity2.Pod亲和性-pod-Affinity3.Pod反亲和性-p…...

Jenkins磁盘空间批量清理脚本
一、简介 Jenkins如果没有设置保留构建历史数,磁盘会随着使用次数增加而越来越满,于是需要批量清理一下。 二、清理脚本 找到Script Console 输入脚本,并点击执行,需要注意期望删除的构建历史编号(可以查看下面的效果…...

FFmpeg拉取RTSP流并定时生成10秒短视频
生成效果: 视频时长为10秒 生成格式为FLV 输出日志: 完整实现代码如下: 需要在Mac和终端先安装FFmpeg brew install ffmpeg CMake文件配置: cmake_minimum_required(VERSION 3.27) project(ffmpeg_open_stream) set(CMAKE_CXX_STANDARD 17)#头文件包目录 include_director…...

【boost_search搜索引擎】2.正排索引和倒排索引
首先,要制作搜索引擎,我们首先要了解,什么是正排索引,什么是倒排索引,这是一个搜索引擎的关键。 1.正排索引 正排索引,其实就是我们的每一个文档,对应一个文档id。 正如vector容器一样…...

Java与Go:字符串转IP
在本文中,我们将了解如何将简单的对比Java和Go是如何将字符串解析为IP地址。 Java 在Java中,将字符串转换为IP地址最无脑的一个方法: import java.net.InetAddress; import java.net.UnknownHostException;public class Main {public stat…...

SlerfTools:简化操作,激发Solana生态创新潜能
在区块链世界的快速演变中,Solana生态系统以其独特的高性能吸引了全球的目光。然而,随着生态系统的蓬勃发展,用户和开发者面临的挑战也日渐增多。正是在这样的背景下,一个名为SlerfTools的新星项目应运而生,它承诺将为Solana带来一场革命性的变革。 项目的诞生 SlerfTools并非…...

AI视频风格转换动漫风:Stable Diffusion+TemporalKit
话不多说,直接开干。 基本方法 首先通过 Temporal-Kit 这个插件提取视频中的关键帧图片,然后使用 Stable Diffusion WebUI 重绘关键帧图片,然后再使用 Temporal-Kit 处理转换后的关键帧图片,它会自动补充关键帧之间的图片&#…...

MongoDB 7.x 绑定多个IP(bindIp)和IP范围段(IP/24)
早上安装了最新版的MOngoDB7.0,仅仅是想测试一些功能,暂无复杂操作的想法。 于是在远程的机器上,安装启动,一切正常。 网上找了教程,绑定IP的做法基本是修改mongod.cfg文件中的bindIp属性: Windows系统的…...

ERP系统帮助芯片公司成本如何计算 ?
在高度信息化的今天,企业运营管理逐渐趋向数字化、精准化,ERP系统作为集成一体化的企业管理软件,正在越来越多地被应用于企业的成本管理中。对于芯片公司而言,ERP系统不仅能够帮助其实现物料、人力、财务等资源的全面管理…...

计算机实体安全
计算机实体安全定义: 对场地环境、设施、设备和载体、人员采取的安全对策和措施。 一、计算机可靠性与故障分析 1.1 计算机的可靠性 可靠性 (狭义) ■计算机在规定时间与条件下完成规定功能的 概率 ■规定条件:环境条件,使用条件࿰…...

吴恩达深度学习笔记:神经网络的编程基础2.5-2.8
目录 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)第二周:神经网络的编程基础 (Basics of Neural Network programming)2.5 导数(Derivatives)2.6 更多的导数例子(More Derivative Examples&…...

iphoneX系统的参数
1. 2. 3. 4. 5.相关的网址信息 Apple iPhone X 規格、价格和评论 | Kalvo Apple iPhone X 規格、价格和评论 | Kalvo...

基于云计算的前端资源管理系统的设计与实现
hello宝子们...我们是艾斯视觉擅长ui设计和前端开发10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 随着互联网的快速发展,前端资源管理成为了一个重要的课题。本文旨在设计并实…...

区块链技术与大数据结合的商业模式探索
hello宝子们...我们是艾斯视觉擅长ui设计和前端开发10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 随着区块链技术和大数据技术的不断发展,两者的结合为企业带来了新的商业模式…...

基于JavaSpringboot+Vue实现前后端分离房屋租赁系统
基于JavaSpringbootVue实现前后端分离房屋租赁系统 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取…...

Yarn: 安装与使用教程
Yarn是Facebook开发的一款高效、可靠的包管理器,用于JavaScript项目中依赖项的管理和版本控制。它作为npm(Node.js包管理器)的一个替代品,提供了更快的安装速度、更安全的依赖管理以及更好的协作体验。以下是Yarn的安装步骤以及基…...

数据库是怎么做到事务回滚的呢?
数据库实现事务回滚的原理涉及到数据库管理系统(DBMS)如何维护事务的一致性和持久性。 基本原理: ACID属性:事务的原子性(Atomicity)、一致性(Consistency)、隔离性(Iso…...

海思 Hi3519DV500 简介
海思 Hi3519DV500 简介 Hi3519DV500是一颗面向视觉行业推出的超高清智能 SoC。最高支持四路sensor输入,支持最高4K30fps的ISP图像处理能力。支持 2F WDR、多级降噪、六轴防抖、全景拼接、多光谱融合等多种传统图像增强和处理算法。支持越影AI ISP全天候卓越影像&am…...

盘点全球十大FPGA制造商
1. 赛灵思(Xilinx) 赛灵思是全球领先的FPGA供应商,市场份额超过50%。公司成立于1984年,总部位于加利福尼亚州圣何塞。关于赛灵思的一些重要事实: 提供业界最广泛的 FPGA 产品组合,包括 UltraScale、UltraS…...

【MySQL】14. 全文索引(选学)
全文索引的创建 当对文章字段或有大量文字的字段进行检索时,会使用到全文索引。 MySQL提供全文索引机制,但是有要求,要求表的存储引擎必须是MyISAM,而且默认的全文索引支持英文,不支持中文。 (为啥一定要用MyISAM呢&am…...

C++实现FFmpeg音视频实时拉流并播放
1.准备工作: 下载rtsp流媒体服务器rtsp-simple-server,安装go开发环境并编译 编译好后启动流媒体服务器 准备一个要推流的mp4视频文件,如db.mp4 使用ffmpeg开始推流 推流命令: ffmpeg -re -stream_loop -1 -i db.mp4 -c copy -rtsp_transport tcp -f rtsp rtsp://192.168.16…...