背景介绍:Spring Cloud Gateway做为接入业务的统一层,主要是用来鉴权、校验参数、黑白名单等功能。后端采用多个微服务部署,nacos作为服务的注册发现中心以及服务的配置中心。完成服务的注册发现以及路由转发。
spring:
profiles: local
cloud:
nacos:
username: test
password: test
config:
server-addr: 127.0.0.1:8848
namespace: 695b5c44-ee06-4e50-865b-940907e521a3
extension-configs[0]:
data-id: gray-config.yml
refresh: true
file-extension: yml
gateway:
discovery:
locator:
enabled:true
filters:
-name: RewritePath
args[regexp]:"'/' + serviceId + '/(?.*)'"
args[replacement]:"'/' + serviceId + '/${remaining}'"
routes:
-id: service-a
uri: lb://service-a
order: -1
predicates:
- Path= /service-a/v2/**
将service-a服务的content-path路径一样,但是需要根据后面的一个版本号区分不同的服务实例
可以采用两种方式:
1、针对/service-a/**和/service-a/v2/**分别配置对应的routers
2、在配置全局RewritePath情况下,- Path= /service-a/v2/**需要增加一个order的配置,这个值越小,优先级越高,等于/service-a/v2/** > /service-a/** 优先被执行
网友评论