当前位置: 首页 > news >正文

.netcore网站开发网站的结构类型

.netcore网站开发,网站的结构类型,舆情分析的主要方法,网站制作旅行社流量镜像 (Traffic Mirroring),也称为流量影子 (Traffic Shadowing),是一种强大的、无风险的测试应用版本的方法,它将实时流量的副本发送给被镜像的服务。 采用这种方法,您可以搭建一个与原环境类似的环境以进行验收测试&#xff…

        流量镜像 (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_bodyoffnginx会报upstream请求超时;proxy_pass_request_body为off,tomcat会报异常。

参考文章

Nginx流量镜像 - 掘金

http://www.yayakq.cn/news/544784/

相关文章:

  • 广东网站开发建设asp.net企业门户网站源码
  • 最好的网页设计网站网站开发与推广就业
  • flash 做网站网站做支付系统
  • 建设网站的源代码的所有权怎么做网页快
  • 广东省 网站建站网页制作工具按其制作方式分可以分为哪几种
  • 丰润网站建设wordpress 虚机
  • 专业网专业网站建设html企业网站模板
  • 空间购买网站wordpress php开发
  • 苏州市住房和城乡建设局网站wordpress首页透明
  • 什么是网站备案高考评卷工作全面展开
  • 网站制作上首页服务商平台登录
  • 桂林网站建设制作东莞网站建设做公司
  • 做漫画网站 漫画哪找网站开发兼职
  • 昆明网站建设的公司全国企业征信系统查询平台
  • html网站用什么空间给公司做网站 优帮云
  • 四川省建设厅燃气网站qq推广的特点
  • 咨询公司网站源码uc官网网站开发者中心
  • 天津建设工程信息网网站首页58同城网招聘找工作建筑工程
  • 网站设计推广深圳好看的公司网站
  • 青海网站设计中国制造网官方网站下载安装
  • 网站建设犀牛临沂建设网站公司
  • 有彩虹代刷源码怎么做网站装修案例的app
  • 如何把自己做的网站放到微信上淘宝网店
  • 在自己网站建立自己的外链凤凰自媒体平台注册
  • 太原网站建设公司排名wordpress萌主题下载地址
  • wordpress鲜花商城海淀区seo搜索优化
  • 凡科建设网站如何对话框旅游网络营销策划方案
  • 服务机构电子商务网站有哪些软件开发流程文档模板
  • 伊宁市做网站工信部网站域名备案信息查询
  • 甘肃省建设厅网站资质升级公示网站cms是什么意思