在将文件上传到 Amazon S3 时,我需要对 Instagram 的工程有所了解。我刚开始使用 S3,我认为 Instagram 是一个很好的模型,因为他们每天上传数千张图片。我的应用有点类似。用户上传图片,可以删除自己的图片,所有图片都是公开的。
在我的项目中,我正在创建具有文件夹前缀的对象来组织每个用户的上传。例如username/filename
我的对象 URL 如下所示:
https://s3.amazonaws.com/my_bucket/username/28c3d2c6ec098bd077d6b9cb5f13869d.jpg
但Instagram:
http://distilleryimage7.s3.amazonaws.com/f4947c1004ca11e2a0c81231380ff428_7.jpg
我猜这distilleryimage7
是存储桶的名称。我不确定这种类型的 URL 有什么优势。我还猜测 Instagram 不使用存储桶“文件”并将所有图像存储在一个存储桶中。
请分享 S3 中的任何最佳实践。