- 请求路径映射
1.导入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
- 主启动类
- 配置文件
server:
port: 8002
spring:
application:
name: cloud-gateway
cloud:
gateway:
routes:
- id: payment_routh #payment_route #路由的ID,没有固定规则但要求唯一,建议配合服务名
uri: http://localhost:8001 #匹配后提供服务的路由地址
predicates:
- Path=/payment/test/gateway1 # 断言,路径相匹配的进行路由
- id: payment_routh2 #payment_route #路由的ID,没有固定规则但要求唯一,建议配合服务名
uri: http://localhost:8001 #匹配后提供服务的路由地址
predicates:
- Path=/payment/test/gateway2/** # 断言,路径相匹配的进行路由
这时访问localhost:8002/payment/test/gateway1 相当于访问localhost:8002/payment/test/gateway1 ,有点nginx的感觉
- 结合注册中心完成负载均衡
引入注册中心的依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
将配置文件的uri 改为lb://${对应的服务模块名} lb为开启负载均衡
- 断言
predicates 下的其他属性 - 过滤器