导入配置:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
<version>3.0.3</version>
</dependency>
具体功能:
路由:通过网关将负载均衡过来的请求分发到各自的微服务集群
断言:匹配条件
过滤:对身份进行验证
server:
port: 9527
spring:
application:
name: cloud-gateway
cloud:
gateway:
discovery:
locator:
enabled: true #开启从注册中心动态创建路由的功能,利用微服务名进行路由
routes:
- id: payment_routh #路由的ID,没有固定规则但要求唯一,建议配合服务名
# uri: http://localhost:8001 #匹配后提供服务的路由地址 ,只有单个地址,不能适配集群
uri: lb://SPRINGCLOUE-PEOVIDER-DEPT #匹配后提供服务的路由地址
predicates:
- Path=/dept/get/** #断言,路径相匹配的进行路由
- id: payment_routh2
# uri: http://localhost:8001 #只适合单个微服务提供者
uri: lb://SPRINGCLOUE-PEOVIDER-DEPT
predicates:
- Path=/dept/lb/** #断言,路径相匹配的进行路由
# - Cookie=username,zsp
## - Between=2020-10-12T14:56:29.219+08:00[Asia/Shanghai],2020-10-12T15:20:29.219+08:00[Asia/Shanghai]
## - Before=2020-10-12T18:56:29.219+08:00[Asia/Shanghai]
## - After=2020-10-12T14:56:29.219+08:00[Asia/Shanghai] # 在规定时间后才能访问
#路由断言
# spring.cloud.gateway.routes[0].predicates[0]=Path=/auth/**
#After路由断言,使用一个日期时间,在该日期以后请求才被匹配
# spring.cloud.gateway.routes[0].predicates[1]=After=2019-09-12T17:42:47.789-07:00
#Before路由断言,使用一个日期时间,在该日期之前才被匹配
# spring.cloud.gateway.routes[0].predicates[1]=Before=2019-09-12T17:42:47.789-07:00
#Between路由断言,使用两个参数用逗号分隔,在两个时间范围内的请求才被匹配
# spring.cloud.gateway.routes[0].predicates[1]=Between=2019-09-12T17:42:47.789-07:00,2019-10-12T17:42:47.789-07:00
springcloud中文文档
https://www.springcloud.cc/