Amazon web services S3 HTTP状态503减速

Amazon web services S3 HTTP状态503减速,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,Amazon文档指出,使用SDK中的AmazonS3Client将通过后退和重试来处理503个响应。在使用SDK客户端时,我们偶尔会看到503返回。 这份文件在美国出版 虽然AmazonS3正在为新的请求速率进行内部优化,但在优化完成之前,您将暂时收到HTTP503请求响应 这是否意味着我们应该在AWS的基础上实现我们自己的回退,立即重试,因为SDK将再次处理它,或者我们不应该从客户端看到503? 编辑:由于TransferUtility自身的错误处理代码,使用TransferUtility有助

Amazon文档指出,使用SDK中的AmazonS3Client将通过后退和重试来处理503个响应。在使用SDK客户端时,我们偶尔会看到503返回。 这份文件在美国出版

虽然AmazonS3正在为新的请求速率进行内部优化,但在优化完成之前,您将暂时收到HTTP503请求响应

这是否意味着我们应该在AWS的基础上实现我们自己的回退,立即重试,因为SDK将再次处理它,或者我们不应该从客户端看到503?
编辑:由于TransferUtility自身的错误处理代码,使用TransferUtility有助于防止这种情况发生,还是会因为其激进的上传而加剧这种情况?

尽管SDK客户端已经在尽可能减少503个错误方面做得很好,但503个错误确实会发生,尤其是在流量突然增加时。没有必要实现您自己的重试逻辑并重新发明轮子。当S3抛出503时,会触发分区请求。换句话说,S3正在添加更多服务器来处理前缀,以满足您的需求。但是,分区需要一些时间进行配置。在分区完全配置之前,您仍将获得503


您可以打开支持通知单,要求他们提前提供更多分区:)

在投入生产之前,我们将进行性能测试以确定分区的数量,但我需要知道如何处理这些峰值。我假设您建议重试,让SDK的后退逻辑再尝试一次?TranferManager会让这种情况变得更好还是更糟?我不熟悉Java SDK。根据我使用Python的经验,使用指数后退重试可能已经足够好了。