统一网关Geteway
一.认识Geteway
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/454e2dd0f8bdb597e81cbd75f489d946.png)
二.Geteway
搭建
1.新建一个子服务gateway(maven模块),添加依赖
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
</dependencies>
2.创建启动类GatewayApplication
@SpringBootApplication
public class GatewayApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayApplication.class, args);
}
}
3.application.yml
编写路由配置以及nacos地址
server:
port: 10010
spring:
application:
name: gateway
cloud:
nacos:
server-addr: localhost:8848
gateway:
routes:
- id: user-service
uri: lb://userservice
predicates:
- Path=/user/**
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/baccd92fabc4170826da9d3896f8ce6a.png)
三.路由断言工厂Route Predicate Factory
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ae187ac6fa67e45ad6b19ec72a68cd5d.png)
- PredicateFactory的作用是什么?
- Path=/user/**是什么含义?
四.路由过滤器GatewayFilter
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/cd676710e3a5067352c5c5a158ef6562.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/aed177cdb41b226d79fd4922243bd0ab.png)
server:
port: 10010
spring:
application:
name: gateway
cloud:
nacos:
server-addr: localhost:8848
gateway:
routes:
- id: user-service
uri: lb://userservice
predicates:
- Path=/user/**
default-filters:
- AddRequestHeader=Truth, Itcast is freaking aowsome!