访问第三方服务

upstream与subrequest

upstream的使用方式

这里写图片描述
这里写图片描述

ngx_http_upstream_t结构体

ngx_http_upstream_t中的subrequest_in_memory 为1,由input_filter方法处理包体;为0时,upstream会转发响应包体;
ngx_http_upstream_conf_t中的buffering为1时,使用更多的内存和磁盘文件缓存上游的响应包体;为0时,使用固定大小的缓冲区

设置upstream的限制性参数

ngx_http_upstream_conf_t

设置需要访问的第三方服务器地址

ngx_http_upstream_t中的resolved

设置回调方法

启动upstream机制

直接执行ngx_http_upstream_init方法即可启动

回调方法的执行场景

create_request回调方法

这里写图片描述

reinit_request回调方法

在第一次试图向上游服务器建立连接时,如果连接由于各种异常原因失败,会根据upstream中的conf参数的策略要求再次重连上游服务器

finalize_request回调方法

请求销毁前调用

process_header回调方法

解析上游服务器返回的基于TCP响应头部
这里写图片描述

rewrite_redirect回调方法

input_filter_init与input_filter

用于处理上游的响应包体

subrequest的使用方式

  1. 在nginx.conf文件重配置好子请求的处理方式
  2. 启动subrequest子请求
  3. 实现子请求执行结束时的回调方法
  4. 实现父请求被激活时的回调方法

这里写图片描述
这里写图片描述
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值