spring Cloud 通过Zuul 上传大文件绕过zuul过滤器说明

通过Zuul上传文件

如果你使用@enablezuulproxy,你可以使用代理路径来上传文件,只要文件很小,它就可以工作。对于大文件,有另一种路径,可以绕过Spring DispatcherServlet(以避免多部分处理)在“/zuul/”中。换句话说,如果你有zuul.route.customers=/customers/*,然后您可以将大文件发布到/zuul/customers/*。servlet路径通过zuul.servletPath外部化。如果代理路由带您经历一个带负载均衡器,那么超大的文件也需要更高的超时设置,如下面的例子所示:

application.yml。

#hystrix timeout 时间要大于ribbon timeout 时间,否则 hystrix 熔断了以后,ribbon的重试就都没有意义了
hystrix:
  command:
    default:
      execution:
        isolation:
          thread:
            timeoutInMilliseconds: 160000

#ribbon timeout 计算:(ReadTimeout + ConnectTimeout) * (MaxAutoRetries + 1) * (MaxAutoRetriesNextServer + 1)
ribbon:
  ReadTimeout: 20000
  ConnectTimeout: 20000
  MaxAutoRetries: 1
  MaxAutoRetriesNextServer: 1

 

请注意:

1、对于流式处理大型文件,您需要在请求中使用分块编码(有些浏览器在默认情况下不会这样做),如下面的例子所示:

$ curl -v -H "Transfer-Encoding: chunked" \
    -F "file=@mylarge.iso" localhost:9999/zuul/customers/file

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值