让我解释一下困境。我使用亚马逊的 3 项服务:EC2、S3 和 CloudFront。EC2 接收文件作为上传,将其存储在 S3 存储桶中。然后 CloudFront 镜像 S3 存储桶。唯一的限制是拥有用户友好的 URL。交付这些文件的哪种方法更好?
客户端 > CloudFront > EC2 > S3
- 客户端向 CloudFront URL 发出 HTTP 请求
- Cloudfront 将请求转发到 EC2
- EC2 将用户友好的 URL 转换为原始文件 URL
- EC2 从 S3 读取文件
客户端 > EC2 ...重定向 ... CloudFront > S3
- 客户端向 EC2 发出 HTTP 请求
- EC2 将用户友好的 URL 转换为原始文件 URL
- EC2 重定向到 CloudFront,巫婆镜像 S3
这有两个维度:速度和成本。
我看到 facebook 在提供个人资料图片时使用第二种方法 http://graph.facebook.com/platform/picture