【发布时间】:2025-11-28 14:30:01
【问题描述】:
我有一个网络应用程序,用户可以在其中上传 700kb 以下的头像。这是应用程序中处理上传图像的唯一部分(所以我不会处理异常繁重的负载)。我想知道最好的方法是什么。目前我正在使用 Paperclip,我不想将所有图像都存储在 Amazon 的 S3 上。
选项 1:用户将图像上传到我的网络服务器。使用延迟作业对图像进行异步处理,然后上传到 s3。然后从我的网络服务器上删除该图像。
选项2:用户直接上传图片到s3。我的网络服务器上的后台进程下载图像,对其进行处理,然后将新创建的缩略图上传到 s3。
选项 1 似乎总体上使用较少的带宽。选项 2 似乎为我的应用程序节省了将图像直接上传到它的资源。
我的这些假设是否正确?哪个选项最快且最节省资源?还是有其他方法可以解决这个问题?
另外,我想知道 Twitter、FB 和 Posterous 等网站是否异步处理图像。每当我在 Twitter 上上传个人资料照片,或在 FB 和 Posterous 上上传图片时,它们似乎都会被立即处理。
谢谢!
提姆
【问题讨论】:
标签: ruby-on-rails performance amazon-s3 paperclip delayed-job