簡體   English   中英

Spring 雲網關30s超時,

[英]Spring Cloud gateway is timing out in 30s,

我使用 spring 雲網關作為我的網關應用程序。 當我嘗試直接調用 api 時它會成功,但是通過它調用時會在 30 秒內超時。我正在嘗試上傳一個大約 250MB 的多部分文件。 直接調用應用程序它在大約 6-7 分鍾內成功。

Spring雲api網關超時配置

- id:  xyz
          uri: ${xyz.----}
          predicates:
            - Path=/${xyz}/**
          filters:
            - RewritePath=/${xyz}/(?<oldPath>.*), /${oldPath}
            - CachingRequestBody
            - SignResponseBody
            - name: RequestSize
              args:
               maxSize: 1024MB
          metadata:
            response-timeout: 600000
            connect-timeout: 600000
            serviceName: ${xyz}




public Customizer<ReactiveResilience4JCircuitBreakerFactory> defaultCustomizer() {
        return factory -> factory.configureDefault(id -> new Resilience4JConfigBuilder(id)
                .circuitBreakerConfig(CircuitBreakerConfig.ofDefaults())
                .timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofMillis(600000)).build())
                .build());



cloud:
    gateway:
      httpclient:
        connect-timeout: 600000
        response-timeout: 600s
      default-filters:
        - name: OrderedCircuitBreaker
          args:
            name: global-fallback
            fallbackUri: forward:/fallback

任何幫助將不勝感激

嗨,伙計們,我找到了答案,網關中的每個請求都經過一組過濾器。 如您所見,過濾器 CachedRequestBody。 此過濾器緩存請求正文。 如果它非常大並且 api 網關沒有空間,因此它會因 java 堆空間錯誤而超時。 我刪除了那個過濾器,現在它工作正常。 謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM