Spring Cloud Gateway结合服务发现配置动态路由

2020-12-30  本文已影响0人  zornil

背景介绍: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/** 优先被执行

上一篇下一篇

猜你喜欢

热点阅读