S3 上传延迟

S3 上传延迟

我有 2 台服务器使用位于 AWS S3 存储中的相同数据。一台处理 HTTP 流量,另一台执行较长时间的任务。其工作原理是 HTTP 一台将数据保存到 S3,将事件分派到后端,然后处理数据。

但是,似乎每隔几分钟后端就会出现错误,因为 S3 上的数据尚不存在。将文件上传到 S3 和将其提供给其他客户端连接之间是否存在延迟?

我确信当后端访问这些文件时上传已经完成,并且 HTTP 服务器使用与 S3 的保持连接。

答案1

虽然第一个建议盲目超时的答案可能会起作用,但我还是建议研究一下 S3 通知事件。如果您计划扩展到两台以上的服务器,那么使用 SNS 或 SQS 之类的东西来管理对象成功写入后发生的情况,将比依赖全面超时更容易。

您可以在这里了解此功能: http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html

答案2

由于 S3 在上传后如何分发数据以及它们如何平衡前端请求的负载,因此可以想象一个对象可能需要几秒钟才能完全传播到其基础设施中。我建议在逻辑中(上传和检索之间)延迟几秒钟,或者可能只是检测故障然后等待几秒钟并重试。

相关内容