在spring云网关故障转移期间保留请求的路径

brccelvz  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(283)

有没有办法从外部配置SpringCloudGateway以故障切换到另一个数据中心?我在想这样的事情:

spring:
  cloud:
    gateway:
      routes:
      - id: test-service
        uri: lb://test-service:8085/
        predicates:
        - Path=/test-service/**
        filters:
        - StripPrefix=1
        - name: CircuitBreaker
          args:
            name: fallback
            fallbackUri: forward:/fallback
            #fallbackUri: forward:/fallback/test-service
      - id: fallback
        uri: http://${fallback_data_center}
        predicates:
        - Path=/fallback/**

---
spring:
  config:
    activate:
      on-profile: data_center_1
fallback_data_center: dc2.com

---
spring:
  config:
    activate:
      on-profile: data_center_2
fallback_data_center: dc1.com

我遇到的问题是,断路器过滤器的fallbackuri参数只支持前向架构的uri。但是,请求url的路径部分将被转发url中的路径覆盖。因此,似乎没有一种方法可以使用原始请求的路径进行故障转移,例如,如果此配置已收到http://dc1.com/test-service/some/path 没有为每个可能的路径创建配置。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题