网关Gateway

249 阅读1分钟

网关功能:身份认证和权限校验,服务路由、负载均衡,请求限流

创建网关模块,导入依赖,编写启动类

<dependencies>
        <!--网关依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>

        <!--nacos服务发现依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
    </dependencies>

路由配置

server:
  port: 10010 #网关端口

spring:
  cloud:
    gateway:
      routes: # 网关路由配置
        - id: user-service
          uri: lb://user-service # 路由的目标地址,lb就是负载均衡,后面跟服务名称
          predicates:
            - Path=/user/** # 路由断言,判断请求是否符合路由规则的条件

        - id: order-service
          uri: lb://order-service
          predicates:
            - Path=/order/**

全局过滤器GlobalFilter

不需要在配置文件中配置,系统初始化时加载,并作用在每个路由上

  • 自定义全局过滤器步骤:
  1. 定义全局过滤实现 GlobalFilter 和 Ordered接口
  2. 重写方法 filter和 getOrder
  3. 在filter方法中完成处理逻辑