【问题标题】:Spring Cloud gateway is timing out in 30s,Spring Cloud gateway 30s 超时,
【发布时间】:2021-12-28 12:59:55
【问题描述】:

我正在使用 Spring Cloud Gateway 作为我的网关应用程序。当我尝试直接调用 api 时它会成功,但是通过它调用时会在 30 秒内超时。我正在尝试上传一个大约 250MB 的多部分文件。直接调用应用大约 6-7 分钟成功。

Spring Cloud 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

我们将不胜感激任何帮助

【问题讨论】:

标签: java spring spring-boot amazon-elastic-beanstalk spring-cloud-gateway


【解决方案1】:

大家好,我找到了答案, 网关中的每个请求都经过一组过滤器。如您所见,过滤器 CachedRequestBody。此过滤器缓存请求正文。如果它非常大并且api网关没有空间,那么它会因java堆空间错误而超时。我删除了那个过滤器,现在它工作正常。谢谢

【讨论】:

  • 你能edit你的答案来解释你是如何删除它的吗?
猜你喜欢
  • 2020-11-27
  • 2021-07-23
  • 2018-11-25
  • 2023-03-11
  • 1970-01-01
  • 2021-10-20
  • 2019-06-24
  • 2020-06-22
  • 2018-09-25
相关资源
最近更新 更多