网关功能:身份认证和权限校验,服务路由、负载均衡,请求限流
创建网关模块,导入依赖,编写启动类
<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
不需要在配置文件中配置,系统初始化时加载,并作用在每个路由上
- 自定义全局过滤器步骤:
- 定义全局过滤实现 GlobalFilter 和 Ordered接口
- 重写方法 filter和 getOrder
- 在filter方法中完成处理逻辑