seo推广团队,北京新站优化,网站建设实习周记,东营招聘网最新招聘实现方式
mirror逻辑的工作阶段#xff1a;
ngx在log phase之后#xff08;在ngx_http_free_request处调用#xff09;已完成向client端返回response#xff0c;在log phase之后完成close connection#xff08;短链接#xff09;#xff0c;在该阶段处理mirror逻辑不…实现方式
mirror逻辑的工作阶段
ngx在log phase之后在ngx_http_free_request处调用已完成向client端返回response在log phase之后完成close connection短链接在该阶段处理mirror逻辑不会对主请求造成阻塞。 发往mirror upstream的流量获取
request结构中有向后端upstream转发的数据缓存并且request和内存资源独立于底层connection的内存资源因此可复用request结构及内存待mirror之后释放作为向mirror upstream转发的数据来源复用该数据可最大程度减少重新组包或数据copy带来的性能损耗。
r-upstream→request_bufs原向后端转发组成的http头
r→request_body收到的http body
注意复用该方法会有一个问题在于如果主请求不能转发到后端则不会生成该http 头数据。例如 404 not found的请求因为找不到指定路径所以不会走proxy逻辑生成到upstream的请求数据。
逻辑顺序