(三)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了,但是要想做到熟练掌握,还需要接下来的深入学习才是,加油。


目录
相关文章
|
3月前
|
负载均衡 Java Nacos
SpringCloud基础2——Nacos配置、Feign、Gateway
nacos配置管理、Feign远程调用、Gateway服务网关
SpringCloud基础2——Nacos配置、Feign、Gateway
|
2月前
|
负载均衡 Java API
【Spring Cloud生态】Spring Cloud Gateway基本配置
【Spring Cloud生态】Spring Cloud Gateway基本配置
42 0
|
3月前
|
安全 Java 开发者
强大!Spring Cloud Gateway新特性及高级开发技巧
在微服务架构日益盛行的今天,网关作为微服务架构中的关键组件,承担着路由、安全、监控、限流等多重职责。Spring Cloud Gateway作为新一代的微服务网关,凭借其基于Spring Framework 5、Project Reactor和Spring Boot 2.0的强大技术栈,正逐步成为业界的主流选择。本文将深入探讨Spring Cloud Gateway的新特性及高级开发技巧,助力开发者更好地掌握这一强大的网关工具。
246 6
|
4月前
|
传感器 安全 物联网
Gateway基本配置:打开网络之门
Gateway基本配置:打开网络之门
|
5月前
|
负载均衡 Java Spring
Spring cloud gateway 如何在路由时进行负载均衡
Spring cloud gateway 如何在路由时进行负载均衡
517 15
|
5月前
|
Java Spring
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
115 3
|
4月前
|
存储 容器
【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心
【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心
|
6月前
|
Java API 网络架构
Spring Cloud Gateway的高级配置与实践
Spring Cloud Gateway的高级配置与实践
|
5月前
|
Kubernetes 监控 Java
有了k8s还需要gateway网关,nacos配置中心吗
在Kubernetes环境中,服务网关(如Spring Cloud Gateway)和Nacos配置中心补充了k8s的不足。Nacos提供灵活服务路由和动态配置更新,超越k8s基础服务发现。它还支持更复杂的配置管理和实时推送,以及环境隔离和版本控制。作为服务注册中心,Nacos增强k8s服务治理能力,保持技术一致性,并提供额外的安全层及监控功能。
263 0
|
6月前
|
Java Nacos 网络架构
Spring Cloud gateway 网关四 动态路由
Spring Cloud gateway 网关四 动态路由