Amazon文档指出,使用来自SDK的AmazonS3Client将通过后退和重试来处理503 Slow Down响应。在使用SDK客户端时,我们偶尔会看到503返回。在https://d1.awsstatic.com/whitepapers/AmazonS3BestPractices.pdf?stod_obj2的文档状态
当Amazon S3正在内部优化新的请求速率时,您将暂时收到HTTP 503请求响应,直到优化完成。
这是否意味着我们应该在AWS的基础上实现我们自己的back-off,立即重试,因为SDK将再次处理它,或者我们永远不会看到来自客户端的503 ?编辑:使用TransferUtility是否有助于防止这种情况,因为它自己的错误处理代码,或者它会加剧它的侵略性上传?
尽管SDK客户端已经在尽可能地减少503错误方面做得很好,但503错误确实会发生,特别是当流量突然激增时。没有必要实现您自己的重试逻辑并重新发明轮子。当S3抛出503时,会触发分区请求。换句话说,S3正在添加更多的服务器来处理您的前缀,以满足您的需求。但是,分区的供应需要一些时间。在完全分配分区之前,您仍然会得到503。
你可以打开一个支持票,要求他们提前提供更多的分区:)