(三)Gateway开发教程之配置路由详解(全)

简介: 初步的使用了Gateway组件,并且在SpringCloud框架中进行了集成操作,已经算是入门了,接下来就是要全面的了解下Gateway中各项配置了。

前情回顾


上一篇文章,我们已经初步的使用了Gateway组件,并且在SpringCloud框架中进行了集成操作,已经算是入门了,接下来就是要全面的了解下Gateway中各项配置了。


Gateway组件中的配置路由详解


Gateway组件中的配置,在上篇文章中,我们也使用了一些,但是并没有将其他的使用方法全部列出,今天我们就要将其余的一些配置同大家讲述一下。


路由参数


路由Router的使用,我们先看一下之前使用的例子:

routes:
  - id: router1
    uri: http://www.baidu.com
    predicates:
      - Path=/baidu/**
    filters:
      - StripPrefix=1

其中的id参数,是唯一的,如果多个路由的话,id也应该是不同的。

uri:该参数时用来指定匹配后的访问链接,如果匹配成功,那么就去访问百度了。

predicates:断言参数,这个请接着往下看。

filters:过滤器参数。


断言参数


断言参数predicates,是用来匹配路由规则的,比如本次例子中的Path=/baidu/**,意思就是匹配http://localhost/baidu/*/的相关的链接。

断言参数也是Gateway中规则最多的了,下面我们细说一下断言有提供哪些匹配参数。


  1. After

- After=2021-01-01

匹配在2021年一月一日时间之后发生的请求。


  1. Before

- Before=2021-01-01

匹配在2021年一月一日时间之前发生的请求。


  1. Between

- Before=2021-01-01,2021-01-02

匹配在2021年一月一日至2021年一月二日之间发生的请求。


  1. Cookie

- Cookie=demokey, abc

cookie的设置,有两个参数,分别是name和regexp(Java正则),可以匹配到相应名称的Cookie名称,且与正则相匹配的Cookie值的链接。


  1. Header

- Header=X-Request-Id, \d+

Header同样也提供了两个参数,分别是name和regexp(Java正则),可以匹配相应类型的Url,比如127.0.0.1/demo/1,这样就可以进入上述规则。


  1. Host

- Host=**.pxyz.top

Host就比较好理解了,其参数就是匹配相应的ip,或者域名等信息的Url。


  1. Method

- Method=GET

Method就更加熟悉了,GET、POST、PUT、DELETE等都是属于Method中的一类,上述就是匹配GET类的请求。


  1. Path

- Path=/baidu/**

Path:我们最常用的,用于匹配URL相关路径。


  1. Query

- Query=abc

Query:查询条件,用于匹配查询条件是否存在abc条件。


  1. RemoteAddr

- RemoteAddr=192.168.1.1/24

RemoteAddr:指定请求远程地址IPIP,可以设置多个网段等功能


  1. Weight

- Weight= gtoup, 2

利用路由权重来匹配对应的路由规则。


过滤器参数


过滤器参数相对断言参数要少一些,但是同样重要,让我们来细数一下。

路由中的filters参数的设置也是非常广泛的。

而我们平时使用最多的就是

      routes:
      - id: demo
        uri: http://demo
        predicates:
        - Path=/demo/**
        filters:
        - StripPrefix=1

这个参数是从请求中剥离的路径个数,比如http://127.0.0.1/demo/user/list, 就可以得到http://127.0.0.1/demo/list


总结


如果你能合理的运用这些路由配置,那么就证明已经可以熟练使用Gateway了,但是要想做到熟练掌握,还需要接下来的深入学习才是,加油。


目录
相关文章
|
2月前
|
负载均衡 监控 Java
Spring Cloud Gateway 全解析:路由配置、断言规则与过滤器实战指南
本文详细介绍了 Spring Cloud Gateway 的核心功能与实践配置。首先讲解了网关模块的创建流程,包括依赖引入(gateway、nacos 服务发现、负载均衡)、端口与服务发现配置,以及路由规则的设置(需注意路径前缀重复与优先级 order)。接着深入解析路由断言,涵盖 After、Before、Path 等 12 种内置断言的参数、作用及配置示例,并说明了自定义断言的实现方法。随后重点阐述过滤器机制,区分路由过滤器(如 AddRequestHeader、RewritePath、RequestRateLimiter 等)与全局过滤器的作用范围与配置方式,提
Spring Cloud Gateway 全解析:路由配置、断言规则与过滤器实战指南
|
2月前
|
人工智能 负载均衡 API
Vercel 发布 AI Gateway 神器!可一键访问数百个模型,助力零门槛开发 AI 应用
大家好,我是Immerse,独立开发者、AGI实践者。分享编程、AI干货、开源项目与个人思考。关注公众号“沉浸式趣谈”,获取独家内容。Vercel新推出的AI Gateway,统一多模型API,支持自动切换、负载均衡与零加价调用,让AI开发更高效稳定。一行代码切换模型,告别接口烦恼!
311 1
Vercel 发布 AI Gateway 神器!可一键访问数百个模型,助力零门槛开发 AI 应用
|
3月前
|
API
使用Gateway with Inference Extension路由外部MaaS服务
本文介绍如何通过Gateway with Inference Extension对接百炼服务,实现请求路由时自动添加API Key并重写路径,包含操作步骤及验证方法。
|
8月前
|
存储 人工智能 Kubernetes
ACK Gateway with AI Extension:面向Kubernetes大模型推理的智能路由实践
本文介绍了如何利用阿里云容器服务ACK推出的ACK Gateway with AI Extension组件,在Kubernetes环境中为大语言模型(LLM)推理服务提供智能路由和负载均衡能力。文章以部署和优化QwQ-32B模型为例,详细展示了从环境准备到性能测试的完整实践过程。
|
负载均衡 Java Nacos
SpringCloud基础2——Nacos配置、Feign、Gateway
nacos配置管理、Feign远程调用、Gateway服务网关
SpringCloud基础2——Nacos配置、Feign、Gateway
|
安全 Java 开发者
强大!Spring Cloud Gateway新特性及高级开发技巧
在微服务架构日益盛行的今天,网关作为微服务架构中的关键组件,承担着路由、安全、监控、限流等多重职责。Spring Cloud Gateway作为新一代的微服务网关,凭借其基于Spring Framework 5、Project Reactor和Spring Boot 2.0的强大技术栈,正逐步成为业界的主流选择。本文将深入探讨Spring Cloud Gateway的新特性及高级开发技巧,助力开发者更好地掌握这一强大的网关工具。
705 6
|
负载均衡 Java Spring
Spring cloud gateway 如何在路由时进行负载均衡
Spring cloud gateway 如何在路由时进行负载均衡
2027 15
|
负载均衡 Java API
【Spring Cloud生态】Spring Cloud Gateway基本配置
【Spring Cloud生态】Spring Cloud Gateway基本配置
1116 0
|
传感器 安全 物联网
Gateway基本配置:打开网络之门
Gateway基本配置:打开网络之门
|
Java Spring
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
421 3