Gateway 简介
字面意思就是网关,它的主要作用是路由转发,鉴权,限流等等。它的主要核心是Route,Predicate,Filter。这三大核心呢也是后面实现动态路由的关键。
Gateway 引入
这里呢我项目中使用的是spring cloud gateway。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
Gateway 配置
Gateway 基于yml配置
要想学会动态路由,那我们首先要知道Gateway相关的组成部分
spring:
application:
name: smart-cms-gateway
profiles:
active: dev
cloud:
nacos:
discovery:
# namespace: ${config.register.namespace} # 命名空间
server-addr: http://localhost:8848/ # 配置nacos注册中心
gateway:
discovery:
locator:
enabled: true # 让网关可以发现nacos中的微服务
lower-case-service-id: true
# 跨域配置,vue前端需要加changeOrigin=true
globalcors:
corsConfigurations:
'[/**]':
allowedOrigins: '*'
exposedHeaders:
- content-type
allowCredentials: true
allowedMethods:
- GET
- OPTIONS
- PUT
- DELETE
- POST
routes:
- id: smart-auth
# lb代表从注册中心获取服务,且已负载均衡方式转发
ur