1、 After Route Predicate Factory

输入一个参数:时间,匹配该时间之后的请求,示例配置:

spring:
  cloud:
    gateway:
      routes:
      - id: after_route
        uri: https://anoyi.com
        predicates:
        - After=2019-11-11T11:11:11.111+08:00[Asia/Shanghai]

2、Before Route Predicate Factory

输入一个参数:时间,匹配该时间之前的请求,示例配置:

spring:
  cloud:
    gateway:
      routes:
      - id: before_route
        uri: https://anoyi.com
        predicates:
        - Before=2019-11-11T11:11:11.111+08:00[Asia/Shanghai]

3、Between Route Predicate Factory

输入两个参数:时间1、时间2,匹配该时间段的请求,示例配置:

spring:
  cloud:
    gateway:
      routes:
      - id: between_route
        uri: https://anoyi.com
        predicates:
        - Between=2019-11-10T11:11:11.111+08:00[Asia/Shanghai], 2019-11-12T11:11:11.111+08:00[Asia/Shanghai]

4、Cookie Route Predicate Factory

输入两个参数:Cookie 名称、正则表达式,匹配 Cookie 中是否存在该名称且值与正则表达式匹配,示例配置:

spring:
  cloud:
    gateway:
      routes:
      - id: cookie_route
        uri: https://anoyi.com
        predicates:
        - Cookie=name, ano.i

5、Header Route Predicate Factory

输入两个参数:Header 名称、正则表达式,匹配 Header 中是否存在该名称且值与正则表达式匹配,示例配置:

spring:
  cloud:
    gateway:
      routes:
      - id: header_route
        uri: https://anoyi.com
        predicates:
        - Header=name, ano.i

6、Host Route Predicate Factory

输入一个参数:Host Name 表达式列表,匹配 Header 中 Host 字段的值,示例配置:

spring:
  cloud:
    gateway:
      routes:
      - id: host_route
        uri: https://anoyi.com
        predicates:
        - Host=**.anoyi.cn,**.anoyi.io

7、Method Route Predicate Factory

输入一个参数:HTTP Method,匹配请求方法,示例配置:

spring:
  cloud:
    gateway:
      routes:
      - id: method_route
        uri: https://anoyi.com
        predicates:
        - Method=GET

8、Path Route Predicate Factory

输入两个参数:Spring PathMatcher 表达式列表、【可选】matchOptionalTrailingSeparator 标识,示例配置:

spring:
  cloud:
    gateway:
      routes:
      - id: host_route
        uri: https://anoyi.com
        predicates:
        - Path=/foo/{segment},/bar/{segment}

9、Query Route Predicate Factory

输入两个参数:请求参数、【可选】正则表达式,匹配请求地址类似于 https://anoyi.com/test?hello=world&name=anoyi 所包含的 request params, 示例配置:

# 仅匹配是否包含参数 hello
spring:
  cloud:
    gateway:
      routes:
      - id: query_route
        uri: https://anoyi.com
        predicates:
        - Query=hello
# 匹配参数 name 是否以 ano 开头
spring:
  cloud:
    gateway:
      routes:
      - id: query_route
        uri: https://anoyi.com
        predicates:
        - Query=name, ano.*

10、RemoteAddr Route Predicate Factory

输入一个参数:IPv4 或 IPv6 地址列表,匹配请求来源的IP地址是否在该列表,示例配置:

spring:
  cloud:
    gateway:
      routes:
      - id: remoteaddr_route
        uri: https://anoyi.com
        predicates:
        - RemoteAddr=192.168.1.1/24

本文由博客一文多发平台 OpenWrite 发布!

Spring Cloud Gateway - 路由法则的更多相关文章

  1. SpringCloud无废话入门05:Spring Cloud Gateway路由、filter、熔断

    1.什么是路由网关 截至目前为止的例子中,我们创建了一个service,叫做:HelloService,然后我们把它部署到了两台服务器(即提供了两个provider),然后我们又使用ribbon将其做 ...

  2. Spring Cloud Alibaba学习笔记(16) - Spring Cloud Gateway 内置的路由谓词工厂

    Spring Cloud Gateway路由配置的两种形式 Spring Cloud Gateway的路由配置有两种形式,分别是路由到指定的URL以及路由到指定的微服务,在上文博客的示例中我们就已经使 ...

  3. 看完就会的Spring Cloud Gateway

    在前面几节,我给大家介绍了当一个系统拆分成微服务后,会产生的问题与解决方案:服务如何发现与管理(Nacos注册中心实战),服务与服务如何通信(Ribbon, Feign实战) 今天我们就来聊一聊另一个 ...

  4. Spring Cloud Gateway 没有链路信息,我 TM 人傻了(上)

    本系列是 我TM人傻了 系列第五期[捂脸],往期精彩回顾: 升级到Spring 5.3.x之后,GC次数急剧增加,我TM人傻了 这个大表走索引字段查询的 SQL 怎么就成全扫描了,我TM人傻了 获取异 ...

  5. Spring Cloud Gateway 没有链路信息,我 TM 人傻了(中)

    本系列是 我TM人傻了 系列第五期[捂脸],往期精彩回顾: 升级到Spring 5.3.x之后,GC次数急剧增加,我TM人傻了 这个大表走索引字段查询的 SQL 怎么就成全扫描了,我TM人傻了 获取异 ...

  6. Spring Cloud Gateway夺命连环10问?

    大家好,我是不才陈某~ 最近有很多小伙伴私信我催更 <Spring Cloud 进阶>,陈某也总结了一下,最终原因就是陈某之前力求一篇文章将一个组件重要知识点讲透,这样导致了文章篇幅很长, ...

  7. Spring Cloud Gateway的动态路由怎样做?集成Nacos实现很简单

    一.说明 网关的核心概念就是路由配置和路由规则,而作为所有请求流量的入口,在实际生产环境中为了保证高可靠和高可用,是尽量要避免重启的,所以实现动态路由是非常有必要的:本文主要介绍 Spring Clo ...

  8. Spring Cloud gateway 网关四 动态路由

    微服务当前这么火爆的程度,如果不能学会一种微服务框架技术.怎么能升职加薪,增加简历的筹码?spring cloud 和 Dubbo 需要单独学习.说没有时间?没有精力?要学俩个框架?而Spring C ...

  9. Spring Cloud Alibaba学习笔记(17) - Spring Cloud Gateway 自定义路由谓词工厂

    在前文中,我们介绍了Spring Cloud Gateway内置了一系列的路由谓词工厂,但是如果这些内置的路由谓词工厂不能满足业务需求的话,我们可以自定义路由谓词工厂来实现特定的需求. 例如有某个服务 ...

随机推荐

  1. php从数据库获取数据并遍历在表格中

    <?php /*连接数据库并以一个数组的形式获得数据*/ header("Content-type:text/html;charset=UTF-8"); $con = mys ...

  2. 大前端技术系列:TWA技术+TensorFlow.js => 集成原生和AI功能的app

    大前端技术系列:TWA技术+TensorFlow.js => 集成原生和AI功能的app ( 本文内容为melodyWxy原作,git地址:https://github.com/melodyWx ...

  3. ssh WARNING:REMOTE HOST IDENTIFICATION HAS CHANGED(警告:远程主机标识已更改)

    ssh 192.168.1.88 出现以下警告: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOT ...

  4. 洛谷P5522 【[yLOI2019] 棠梨煎雪】

    区间操作考虑用线段树维护. 建\(n*2\)棵线段树,前\(n\)棵线段树维护每个串的第i位是否是0. 后\(n\)棵线段树维护每个串的第i位是否是1. 如果是问号的话,直接跳过就好(通过1和0能看出 ...

  5. 记 Maven 本地仓库埋坑之依赖包为何不能用

    记一次 Maven 本地仓库埋坑之 Verifying Availability 背景 某 Java 后端项目使用 maven 构建,因为某些原因,某些依赖库下载不了,直接找其它人索要了他电脑上的 m ...

  6. 第六篇 视觉slam中的优化问题梳理及雅克比推导

    优化问题定义以及求解 通用定义 解决问题的开始一定是定义清楚问题.这里引用g2o的定义. \[ \begin{aligned} \mathbf{F}(\mathbf{x})&=\sum_{k\ ...

  7. js中 对象名.属性名和对象名['属性名']的区别,.和[]的区别

    对象中的对象名[ ' 属性名 ' ] 和 对象名.属性名的区别 话不多少,上图分析,菜鸟刚学几个月,如有错误,欢迎大佬们指出 这里是很显而易见的! 然后我们用for in 对他进行遍历,他的区别就出来 ...

  8. jquery写$ document.getElementById效果

    jquery写$ document.getElementById效果<pre>document.getElementById('video-canvas')和$('#video-canva ...

  9. node.js评论列表和添加购物车数据库表创建

    2.1:评论列表--发表评论 用户点击新闻列表某一条新闻,看到新闻详细发表评论 -用户输入评论内容 -发表评论 [将用户评论内容保存数据库 xz_comment] 2.2:评论列表--发表评论-开发评 ...

  10. springcloud微服务基于redis集群的单点登录

    springcloud微服务基于redis集群的单点登录 yls 2019-9-23 简介 本文介绍微服务架构中如何实现单点登录功能 创建三个服务: 操作redis集群的服务,用于多个服务之间共享数据 ...