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. [2018-01-08] Python强化周的第一天

    Python强化周的第一天 学生管理系统-制作(成绩类)模块 class Score: lesson_name = "python" # 课程名 score = 0 # 分数 # ...

  2. 「刷题」xor

    说实话这道题没有A掉,不过所有的思路都是我自己想的,我觉得这个思路真的很棒很棒很棒的. 首先这个题的题面描述告诉我这种运算有封闭性,满足结合律和交换率,那么其实这个东西是个群运算了,而且这个群有单位元 ...

  3. 使用FinalShell 安装jdk和tomcat流程(Linux系统是centOS7.5)

    本文是作者原创,版权归作者所有.若要转载,请注明出处 我今天刚刚买了一个一年的百度云服务器,85元,还是很便宜的,正好用来练练linux,至于为什么使用FinalShell 而不是xshell,因为F ...

  4. 用css和js实现侧边菜单栏点击和鼠标滑动特效

    1点击效果: 2关键代码: css: #div{ display:inline-block; width:100px; height:150px; border-radius: 5px; blackg ...

  5. 股票交易——单调队列优化DP

    题目描述 思路 蒟蒻还是太弱了,,就想到半个方程就GG了,至于什么单调队列就更想不到了. $f[i][j]$表示第$i天有j$张股票的最大收益. 那么有四种选择: 不买股票:$f[i][j]=max( ...

  6. Python基础学习(一)之Python的概述与环境安装

    Python介绍 Python语言介绍 Python是一门高级的.面向对象的.解释性.脚本语言. 高级语言:贴近开发者,对应底层语言,底层语言贴近机器:java.C#.php .ruby 面向对象对应 ...

  7. php session获取不到的解决方法

    php session获取不到的解决方法 因为sesson数据是存在服务器端的硬盘一般临时空间不足 /tmp/ 1 这个需要清空下系统盘就可以了2 你可以在空间充足的地方mkdir 文件夹——你可以使 ...

  8. MQ基本应用场景

    简介 消息队列 MQ 既可为分布式应用系统提供异步解耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积.高吞吐.可靠重试等特性. 应用场景 削峰填谷:诸如秒杀.抢红包.企业开门红等大型活动时皆 ...

  9. Jenkins集群下的pipeline实战

    关于Jenkins集群 在<快速搭建Jenkins集群>一文中,我们借助docker快速搭建了Jenkins集群,今天就在这个集群环境中创建pipeline任务,体验Jenkins集群下的 ...

  10. C#: 统计method的执行时间

    对于性能分析来说,无非是内存占用,CPU使用和执行时间. 那么,对于执行时间(elapsed times)的测量,需要强调的是,尽量不要使用DateTime类来,而是应该使用Stopwatch 类.M ...