1.Gateway是什么

SpringCloud Gateway 作为 SpringCloud 官方推出的第二代网关,网关作为流量的入口,常用功能包括路由转发、权限校验、限流控制等。

2.核心概念

  • 路由。路由是网关最基础的部分,路由信息有一个 ID、一个目的 URL、一组断言和一组 Filter 组成。如果断言路由为真,则说明请求的 URL 和配置匹配
  • 断言。Java8 中的断言函数。Spring Cloud Gateway 中的断言函数输入类型是 Spring5.0 框 架中的 ServerWebExchange。Spring Cloud Gateway 中的断言函数允许开发者去定义匹配 来自于 http request 中的任何信息,比如请求头和参数等。、
  • 过滤器。一个标准的 Spring webFilter。Spring cloud gateway 中的 filter 分为两种类型的 Filter,分别是 Gateway Filter 和 Global Filter。过滤器 Filter 将会对请求和响应进行修改 处

3.使用

3.1添加依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>

3.2增加application.yml文件内容

spring:
  cloud:
    gateway:
      #路由
      routes:
       # - 代表的是一个数组
        - id: test_route
          #地址
          uri: https://www.baidu.com
          #断言:路径相匹配时进行路由
          predicates:
              #Query是固定写法 url是参数名称,baidu是参数值
            - Query=url,baidu

        - id: qq_route
          uri: https://www.qq.com
          predicates:
            - Query=url,qq