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

APISIX 路由优先级

文章目录

    • APISIX 路由优先级
      • 匹配维度
      • radixtree_uri 和 radixtree_host_uri
      • 如何判断你当前实例用的是哪种主索引
    • 路由 RadixTree

APISIX 路由优先级

在 APISIX 的路由匹配机制中,优先级的判定犹如一场精密的竞赛裁决,直接决定着哪个路由规则能够在众多候选者中脱颖而出,成功匹配请求。深入理解优先级的判定依据,对于优化路由配置、确保系统行为的精准性至关重要。

匹配维度

APISIX 的 HTTP 路由典型可用的匹配维度包括:

  • hosts/host:域名或域名列表
  • uri/uris:路径(可包含通配符或更复杂匹配方式)
  • methods:HTTP 方法列表
  • remote_addr/remote_addrs:客户端 IP
  • vars:基于 NGINX 变量的表达式(如 Header、Query、Cookie 等条件)
  • priority:优先级,决定命中顺序

radixtree_uri 和 radixtree_host_uri

  • radixtree_uri
    主索引只有 uri。匹配排序遵循:uri 全等 > 长前缀 > 短前缀 > priority > 配置顺序
    host、headers、query、cookie、method、IP 等都只是“过滤条件”,不参与排序加权

    结果:同一条请求,如果两条路由 uri 层级并列,才会比 priority;host 精确与通配不影响排序

  • radixtree_host_uri
    主索引是 host + uri。host 也参与“越具体越优先”的排序
    先比较 host 的具体程度(精确优于通配),再比较 uri(全等 > 长前缀 > 短前缀),其后才是 priority > 配置顺序

    结果:对同一路径,host 精确匹配能“压住”通配 host,即便通配 host 的路由 priority 更高

如何判断你当前实例用的是哪种主索引

看配置文件(最直接)
APISIX 3.x(及较新版本)通常在 conf/config.yaml:

apisix:router:http: radixtree_uri # 或 radixtree_host_uri

看 Helm/容器化参数
使用官方 Helm Chart 时,values.yaml 一般有 apisix.router.http 配置项

apisix:router:# -- Defines how apisix handles routing:# - radixtree_uri: match route by uri(base on radixtree)# - radixtree_host_uri: match route by host + uri(base on radixtree)# - radixtree_uri_with_parameter: match route by uri with parametershttp: radixtree_host_uri

路由 RadixTree

官网:https://apisix.apache.org/zh/docs/apisix/router-radixtree/

http://www.dtcms.com/a/324809.html

相关文章:

  • SupChains团队:化学品制造商 ChampionX 供应链需求预测案例分享(十七)
  • 托福阅读记录
  • TypeScript 中的as const是什么?
  • 基于Actor-Critic策略的Atari中的pong_v3
  • 机器学习第八课之K-means聚类算法
  • 零基础学编程,编程从入门到精通系列教程,附:编程工具箱之公用事件的用法#零基础学编程从哪里开始#新手学编程先学什么#公用事件构件编程用法
  • Lua语言变量、函数、运算符、循环
  • 小学数学计算技巧全攻略
  • 攻击者瞄准加密技术的基础:智能合约
  • [网安工具] Web 漏洞扫描工具 —— GoBy · 使用手册
  • Video Lecture 8 Page Fault
  • 7、西门子PLC基础术语:数据单位、存储区域、寻址方式、字节序
  • LightGBM 与 GBDT 在机器学习中的性能与特点比较
  • element-ui el-progress在有小数的情况下,会换行显示。解决不换行的问题。
  • redis集群-本地环境
  • 【前端基础】14、CSS设置背景(background相关的)
  • 正则表达式常用语法参考
  • STM32H7 以太网配置引申的内存问题
  • A2A协议深度理解与实践
  • 解决 .NET Core 6.0 + PostgreSQL 网站首次连接缓慢问题
  • 安全生产基础知识(一)
  • 去除Edge微软浏览器与Chrome谷歌浏览器顶部出现“此版本的Windows不再支持升级Windows 10”的烦人提示
  • 深度剖析 Linux 信号:从基础概念到高级应用,全面解析其在进程管理与系统交互中的核心作用与底层运行机制
  • 【牛客刷题】REAL799 翻转01 (饿了么面试题)
  • Vue 事件冒泡处理指南:从入门到精通
  • 亚麻云之监控管家——CloudWatch基础监控
  • socket编程中系统调用send()详细讲解
  • 《算法导论》第 16 章 - 贪心算法
  • ATF(TF-A)安全通告 TFV-12(CVE-2024-5660)
  • 2025年Java 面试题及答案整理(金九银十最新版,持续更新)