Apisix自定义httpcode 请求重试

我们通过插件来做比较麻烦并且还需要考虑重新lb的问题,有一个比较简单的方法是利用nginx的请求重试信号。

Apisix本身默认也有该种设定,不过默认只针对 timeout情况会请求重试

默认请求重试次数是:updateam node 节点数量 -1

相关逻辑在apisix-balancer.luaset_balancer_opts 方法中

设置Nginx配置文件,添加请求重试判断:

我们在 ngx_tpl.lua 760行添加如下配置,示例httpcode可更换
proxy_next_upstream error timeout http_500 http_429 non_idempotent;

支持重试的httpcode可以查看 nginx官方proxy-next-upstream文档

apisix在发生请求重试时,打印的日志中 upstream-statusupstream 会依次将每次请求的结果、上游地址记录出来

相关推荐
小目标一个亿5 小时前
Windows平台Nginx配置web账号密码验证
linux·前端·nginx
养乐多q.♡11 小时前
docker镜像的nginx配置证书SSL,单独配置单个localtion使用证书,其他nginx配置不影响
nginx·docker·ssl
Java水解12 小时前
Nginx 配置文件完全指南
后端·nginx
firstacui12 小时前
Keepalived+nginx+tomcat
nginx·tomcat·firefox
oMcLin14 小时前
如何在CentOS 7.9上配置并优化高并发视频流平台,利用Nginx和RTMP模块确保低延迟流媒体传输?
linux·nginx·centos
幽影相随16 小时前
Docker 环境下的 Nginx 负载均衡(vllm)
nginx·负载均衡
疆鸿智能研发小助手16 小时前
疆鸿智能ETHERNET IP转EtherCAT网关:驱动汽车焊接产线高效协同的核心引擎
网关·自动化·工业自动化·ethercat·ethernet ip·工业通讯·协议转换网关
NGINX开源社区17 小时前
NGINX 与 Avi:云端性能之比较
nginx·反向代理
C_心欲无痕1 天前
nginx - 实现域名跳转的几种方式
运维·前端·nginx
疆鸿智能研发小助手1 天前
钢铁厂污水处理系统:疆鸿智能ETHERNET/IP转EtherCAT网关的工业网络集成应用
网关·工业自动化·ethercat·ethernet ip·工业通讯·协议转换网关