配置
- 引入相关依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!-- 与springmvc存在冲突 (netty+webflux)-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
- 配置路由策略
spring:
application:
name: gateway-server
cloud:
gateway:
routes:
- id: bar-service # 路由id,唯一
uri: lb://bar-service # http://127.0.0.1:8071 微服务uri # lb://bar-service根据服务名称从注册中心获取请求路径
predicates: # 路由条件
- Method=GET,POST
- Path=/bar/** # 路径匹配规则
- id: foo-service
uri: lb://foo-service
predicates:
- Method=GET,POST
- Path=/foo-service/foo/**
filters:
- StripPrefix=1 # 请求会去掉/foo-service
- 根据注册中心eureka的serviceId实现自动路由策略
spring:
application:
name: gateway-server
cloud:
gateway:
discovery:
locator:
enabled: true # 开启根据服务名称自动路由
lower-case-service-id: true # 服务名称小写
enabled
是否与服务发现组件进行整合
lower-case-service-id
默认路由策略注册到eureka上的serviceId是大写的(zk、consul上小写),修改为小写
网友评论