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


上一篇:加密流量分析 思科全新方法对战恶意软件


下一篇:当零售业遇到物联网:线下消费者的体验数字化了