两天学会微服务网关Gateway-Gateway路由规则

这篇具有很好参考价值的文章主要介绍了两天学会微服务网关Gateway-Gateway路由规则。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

锋哥原创的微服务网关Gateway视频教程:

Gateway微服务网关视频教程(无废话版)_哔哩哔哩_bilibiliGateway微服务网关视频教程(无废话版)共计17条视频,包括:1_Gateway简介、2_Gateway工作原理、3_Gateway HelloWorld快速入门等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1oX4y1u7ZJ/

4.1 路由断言工厂

Spring Cloud Gateway将路由作为Spring WebFluxHandlerMapping基础架构的一部分进行匹配。Spring Cloud Gateway包括许多内置的路由断言工厂。所有这些断言都与HTTP请求的不同属性匹配。您可以将多个路由断言工厂与逻辑and语句结合使用。

路由断言工厂RoutePredicateFactory包含的主要实现类如图所示,包含Datetime、Cookie、Header、Host、Method、Path、Query、RemoteAddr、Weight等类型的路由断言。

两天学会微服务网关Gateway-Gateway路由规则,java,微服务,gateway,java

4.2 日期时间路由匹配规则

匹配指定日期时间之后的请求 After

spring:
  application:
    name: gateway-server
  cloud:
    gateway:
      routes:
       - id: after_route
         uri: http://localhost:8080/
         predicates:
          - After=2021-04-20T06:06:06+08:00[Asia/Shanghai]

匹配指定日期时间之前的请求 Before

spring:
  application:
    name: gateway-server
  cloud:
    gateway:
      routes:
       - id: before_route
         uri: http://localhost:8080/
         predicates:
          - Before=2021-04-20T06:06:06+08:00[Asia/Shanghai]

匹配指定日期时间之间的请求 Between

spring:
  application:
    name: gateway-server
  cloud:
    gateway:
      routes:
       - id: betwwen_route
         uri: http://localhost:8080/
         predicates:
          - Between=2021-01-20T06:06:06+08:00[Asia/Shanghai],2021-04-20T06:06:06+08:00[Asia/Shanghai]

4.3 Cookie路由匹配规则

所述Cookie路由断言工厂采用两个参数,该cookiename和regexp(其是Java正则表达式)。该断言匹配具有给定名称且其值与正则表达式匹配的cookie。以下示例配置cookie路由断言工厂:

spring:
  application:
    name: gateway-server
  cloud:
    gateway:
      routes:
       - id: cookie_route
         uri: http://localhost:8080/
         predicates:
          - Cookie=token, \d+

4.4 Header路由匹配规则

所述Header;路由断言工厂采用两个参数,报头name和一个regexp(其是Java正则表达式)。该断言与具有给定名称的头信息匹配,该标头的值与正则表达式匹配。以下示例配置Header路由断言:

spring:
  application:
    name: gateway-server
  cloud:
    gateway:
      routes:
       - id: header_route
         uri: http://localhost:8080/
         predicates:
          - Header=X-Request-Id, \d+

4.5 Host路由匹配规则

该`Host`路由断言工厂需要一个参数:主机名的列表`patterns`。该模式是带有.分隔符的Ant样式的模式。断言与`Host`匹配模式的标头匹配。以下示例配置主机路由断言:

spring:
  application:
    name: gateway-server
  cloud:
    gateway:
      routes:
       - id: host_route
         uri: http://localhost:8080/
         predicates:
          - Host=**.somehost.org,**.anotherhost.org

4.6 Method路由匹配规则

所述Method路由断言厂需要methods的参数,它是一个或多个参数:HTTP方法来匹配。以下示例配置方法路由断言:

spring:
  application:
    name: gateway-server
  cloud:
    gateway:
      routes:
       - id: method_route
         uri: http://localhost:8080/
         predicates:
          - Method=GET,POST

4.7 Path路由匹配规则

Path路由断言厂有两个参数:春天的列表PathMatcher patterns和一个可选的标志叫matchOptionalTrailingSeparator。以下示例配置路径路由断言:

spring:
  application:
    name: gateway-server
  cloud:
    gateway:
      routes:
       - id: path_route
         uri: http://localhost:8080/
         predicates:
          - Path=/product/{segment}

4.8 Query路由匹配规则

所述Query路由断言工厂采用两个参数:所要求的param和可选的regexp(其是Java正则表达式)。以下示例配置查询路由断言:

spring:
  application:
    name: gateway-server
  cloud:
    gateway:
      routes:
       - id: query_route
         uri: http://localhost:8080/
         predicates:
          - Query=green

如果请求包含green查询参数,则前面的路由匹配。

4.9 RemoteAddr路由匹配规则

所述RemoteAddr路由断言工厂需要的列表(分钟尺寸1) sources,其是CIDR的表示法(IPv4或IPv6)的字符串,如192.168.0.1/16(其中192.168.0.1是一个IP地址和16一个子网掩码)。下面的示例配置RemoteAddr路由断言:

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

如果请求的远程地址为上面配置,则此路由匹配192.168.1.10。

4.10 Weight路由匹配规则

Weight路由断言工厂有两个参数:groupweight(一个int)。权重是按组计算的。以下示例配置权重路由断言:

spring:
  cloud:
    gateway:
      routes:
      - id: weight_high
        uri: https://weighthigh.org
        predicates:
        - Weight=group1, 8
      - id: weight_low
        uri: https://weightlow.org
        predicates:
        - Weight=group1, 2

这条路线会将大约80%的流量转发到weighthigh.org,将大约20%的流量转发到weightlow.org。文章来源地址https://www.toymoban.com/news/detail-841022.html

到了这里,关于两天学会微服务网关Gateway-Gateway路由规则的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • spring cloud gateway网关(一)之网关路由

    1、gateway相关介绍 在微服务架构中,系统往往由多个微服务组成,而这些服务可能部署在不同机房、不同地区、不同域名下。这种情况下,客户端(例如浏览器、手机、软件工具等)想要直接请求这些服务,就需要知道它们具体的地址信息,例如 IP 地址、端口号等。这种客户

    2024年02月08日
    浏览(41)
  • SpringCloud之 Gateway路由网关

    提示:以下是本篇文章正文内容,SpringCloud 系列学习将会持续更新 官网地址:https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/ 说到路由,想必各位一定最先想到的就是家里的路由器了,那么我们家里的路由器充当的是一个什么角色呢? 我们知道,如果我们需要连接互

    2024年02月06日
    浏览(48)
  • SpringCloud(五)Gateway 路由网关

    官网地址:https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/ 我们需要连接互联网,那么就需要将手机或是电脑连接到家里的路由器才可以,而路由器则连接光猫,光猫再通过光纤连接到互联网,也就是说,互联网方向发送过来的数据,需要经过路由器才能到达我们的设

    2024年02月16日
    浏览(47)
  • 谷粒商城p46-配置网关路由与路径重写 Gateway配置网关路由和路径重写

    http://t.csdn.cn/Vdti6 http://t.csdn.cn/Vdti6 http://t.csdn.cn/pjLyz http://t.csdn.cn/pjLyz 前端页面的请求会发送到上述前缀地址 url:与上面的拼接 idea-gateway的yml文件 网关路由与路径重写

    2024年02月09日
    浏览(83)
  • 【Spring Cloud Alibaba】8.路由网关(Gateway)

    接下来对服务消费者添加路由网关来实现统一访问接口,本操作先要完成之前的步骤,详情请参照【Spring Cloud Alibaba】Spring Cloud Alibaba 搭建教程 Spring Cloud Gateway 是 Spring 官方基于 Spring 5.0 , Spring Boot 2.0 和 Project Reactor 等技术开发的网关,该项目提供了一个库,用于在 Spring W

    2023年04月24日
    浏览(39)
  • Gateway网关路由以及predicates用法(项目中使用场景)

    1.Gateway+nacos整合微服务 服务注册在nacos上,通过Gateway路由网关配置统一路由访问 这里主要通过yml方式说明: route:     config:     #type:database nacos yml     data-type: yml     group: DEFAULT_GROUP     data-id: jeecg-gateway-router 配置路由:   通过断言里Path地址访问到对应的system-service服务

    2024年02月12日
    浏览(86)
  • 【深入解析spring cloud gateway】02 网关路由断言

    断言是路由配置的一部分,当断言条件满足,即执行Filter的逻辑,如下例所示 当请求路径满足条件/red/,即添加头信息:X-Request-Red,value为Blue-{segment},segment是路径里面带的信息。 gateWay的主要功能之一是转发请求,转发规则的定义主要包含三个部分 Route(路由) 路由是网关

    2024年02月09日
    浏览(42)
  • 第八章 : Spring cloud 网关中心 Gateway (动态路由)

    第八章 : Spring cloud 网关中心 Gateway (动态路由) 前言 本章知识点:重点介绍动态网关路由的背景、动态路由与静态路由的概念,以及如何基于Nacos实现动态网关路由 的实战案例。 背景 前面章节介绍了Spring Cloud Gateway提供的配置路由规则的两种方法,但都是在Spring Cloud Ga

    2024年01月19日
    浏览(48)
  • Spring-cloud-gateway 路由配置方式及匹配规则

    1.1 基础路由配置⽅式 如果请求的⽬标地址,是单个的URI资源路径,配置⽂件实例如下: 各字段含义如下。 id:我们⾃定义的路由 ID,保持唯⼀ uri:⽬标服务地址 predicates:路由条件,Predicate 接受⼀个输⼊参数,返回⼀个布尔值结果。该接⼝包含多种默 认⽅法来将 Predicate

    2024年02月04日
    浏览(44)
  • 网关 GateWay 的使用详解、路由、过滤器、跨域配置!

    SpringCloudGateway网关是所有微服务的统一入口。 1.1 它的主要作用是: 反向代理(请求的转发) 路由和负载均衡 身份认证和权限控制 对请求限流 1.2 相比于Zuul的优势: SpringCloudGateway基于Spring5中提供的WebFlux,是一种响应式编程的实现,性能更加优越。 Zuul的实现方式比较老式

    2024年02月07日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包