Spring Cloud Gateway 路由表配置

Spring Cloud Gateway 的路由表是网关的核心配置,负责将请求转发到不同的服务 / 地址。以下是基于示例配置的关键解析:

一、基础结构

路由表配置在spring.cloud.gateway.routes下,每个路由是一个独立的配置项,包含以下核心字段:

复制代码
spring:
  cloud:
    gateway:
      routes:
        - id: 路由唯一标识  # 每个路由必须有唯一id
          uri: 目标地址       # 请求要转发到的地址
          predicates: []      # 路由匹配规则(满足条件才转发)
          filters: []         # 路由过滤器(转发前后的加工逻辑)
          order: 优先级数字   # 数字越小,优先级越高

二、示例配置拆解

以示例中的两个路由为例,解析不同场景的配置逻辑:

1. 转发到外部地址(bing-route)

复制代码
- id: bing-route  # 路由id:bing-route
  uri: https://cn.bing.com/  # 目标地址:必应官网(外部地址)
  predicates:
    - Path=/**  # 匹配规则:所有路径(任意请求都能匹配)
  filters: []   # 无过滤器
  order: 10     # 优先级:10(数字大,优先级低)
  metadata:     # 自定义元数据(非核心,可用于扩展逻辑)
    hello: world
  • 作用:所有请求都会被转发到必应官网;
  • 注意:uri填外部地址时,直接写完整的 HTTP/HTTPS 地址。

2. 转发到微服务(order-route)

复制代码
- id: order-route  # 路由id:order-route
  uri: lb://service-order  # 目标地址:微服务service-order(lb=负载均衡)
  predicates:
    - Path=/api/order/**  # 匹配规则:以/api/order/开头的路径
  order: 1  # 优先级:1(数字小,优先级高)
  • 作用:只有路径以/api/order/开头的请求,才会转发到service-order微服务;
  • 关键:uri: lb://服务名是微服务场景的写法,lb表示开启负载均衡(需配合 Nacos/Eureka 等注册中心)。

三、核心字段说明

|--------------|------------------------------------------------|
| 字段名 | 作用 |
| id | 路由唯一标识,不能重复 |
| uri | 转发目标:- 外部地址:https://xxx.com - 微服务:lb://服务名 |
| predicates | 路由匹配规则(多个规则需同时满足),常用Path=/xxx/** (路径匹配) |
| filters | 过滤器(如添加请求头、路径重写等),空数组表示无过滤 |
| order | 路由优先级:数字越小,优先级越高(多个路由匹配时,优先走 order 小的) |

四、优先级注意事项

示例中order-route的order=1,bing-route的order=10:

  • 当请求路径是/api/order/xxx时,会先匹配order-route(因为优先级更高),转发到service-order;
  • 若order-route的order大于bing-route,则/api/order/xxx会被bing-route拦截,转发到必应(不符合预期)。→ 匹配更精确的路由, order****要设置更小的数字。
相关推荐
蒸蒸yyyyzwd8 小时前
AI应用相关可能的面试问题
笔记
叼烟扛炮9 小时前
[Git 实战] 学习笔记:从生成 SSH 密钥到解决 TortoiseGit 推送报错全指南
linux·运维·笔记·git·学习
蒸蒸yyyyzwd10 小时前
学习笔记 八股手撕
笔记·学习
揣一尾游鱼yu11 小时前
Spring上(IOC)笔记
java·笔记·spring·ioc
小李不想当小白13 小时前
BKP备份寄存器与RTC实时时钟(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
瑞码空间15 小时前
JSP与Servlet核心开发与CRUD实战笔记
java·笔记·servlet·jsp
La Pulga15 小时前
【FreeRTOS源码学习笔记】链表的实现
数据结构·笔记·stm32·mcu·链表·嵌入式·freertos
wuyoutrans18 小时前
以色列专利OA答复翻译,重点要避开哪些坑?
笔记
宝绿特塑业再生科技18 小时前
HDPE再生颗粒户外家具表面粉化机理与改性技术全解析
笔记·户外家具·再生塑料·塑木桌椅
凉、介19 小时前
深入理解 ARMv7-A | Generic Timer
笔记·学习·嵌入式·arm