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

Apisix自定义httpcode 请求重试

我们通过插件来做比较麻烦并且还需要考虑重新lb的问题,有一个比较简单的方法是利用nginx的请求重试信号。
Apisix本身默认也有该种设定,不过默认只针对 timeout情况会请求重试
默认请求重试次数是:updateam node 节点数量 -1
相关逻辑在apisix-balancer.lua的 set_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 会依次将每次请求的结果、上游地址记录出来


http://www.mrgr.cn/news/1392.html

相关文章:

  • Spring SSM框架--MVC
  • 浅析 Vuex 设计模式
  • 你是如何克服编程学习中的挫折感的?
  • ceph如何增删改查的管理文件
  • 用 CWE API 减轻软件产品中的安全风险
  • 【Redis】Linux CentOS Redis 的安装—(一)
  • 爱心动画代码HTML5
  • Pytorch如何判断两个模型的权重是否相同(比较权重差异/参数字典)
  • 【Oracle篇】统计信息和动态采样的深度剖析(第一篇,总共六篇)
  • Unity引擎基础知识
  • Linux系统-系统信息网络目录文件的相关命令
  • 【从问题中去学习k8s】k8s中的常见面试题(夯实理论基础)(九)
  • Web 3 一些常见术语
  • 自动化智能立体库验收报告
  • shapefile文件解析-shp解析
  • Manim的一个用于数学动画的 Python 库中渲染代码的功能。
  • 【layUI】只能选某个特定区间的日历
  • LeetCode 第三十天2024.8.15
  • Vue 和 React 各自的背景和特点
  • logback配置文件-入门