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 会依次将每次请求的结果、上游地址记录出来

相关推荐
蓝胖的四次元口袋9 小时前
Docker Compose多容器编排与Nginx集群实战
运维·nginx·docker compose
师傅别念了10 小时前
Nginx 反向代理配置指南,看完这篇就够了
nginx
Raas10011 小时前
AI网关支持OpenAI吗?MAI Gateway(魔芋企业级AI网关)实战能力深度解读
网关·安全·大模型·ai网关·mai gateway·魔芋·企业级产品
Raas10011 小时前
MAI Gateway(魔芋企业级AI网关)能力解析:AI网关支持OpenAI吗?AI网关核心功能详解
人工智能·网关·ai网关·mai gateway·企业级产品·独立团队
bst@微胖子12 小时前
Linux环境做LVM快照
lua
Raas1001 天前
MAI Gateway(魔芋企业级AI网关)技术揭秘:AI网关支持哪些模型?从原理到落地
大数据·人工智能·网关·gateway·mai gateway·企业级产品
heimeiyingwang1 天前
【中台·技术篇】API 网关建设:Kong 与 APISIX 选型与落地实践
kong·apisix·中台
迷茫的大专生1 天前
高可用总结
redis·mysql·nginx·高可用
szephyr1 天前
Nginx 反向代理实战:从 502、跨域到 HTTPS,一次打通
运维·nginx·https·部署·反向代理
迷茫的大专生1 天前
服务器部署与 MySQL 运维学习笔记:从 Ansible 到高可用与性能优化
mysql·nginx·ansible·mysql优化·keepalive