【发布时间】:2012-01-08 18:02:58
【问题描述】:
我正在努力思考应该使用什么方法来强制 CDN 刷新网站上的用户个人资料照片,其中 CloudFront 是提供个人资料照片的 CDN,而 S3 是基础文件存储。
我需要确保用户个人资料照片在用户更新他们的个人资料照片后立即更新。我看到三个选项可以用来更新个人资料照片并确保网站用户在个人资料照片修改后立即获得最新图像。在这些方法中,在确保新鲜内容和最大的长期成本效益方面,哪一种比另一种更好?是否有更好的方法来确保新鲜的内容和最大的长期成本效益?
- 发出一个 S3 put 对象请求以使用其原始文件名保存文件,并发出一个 Amazon CloudFront 失效请求。 Amazon CloudFront 每月最多允许 1000 个免费失效请求,这似乎有点偏低
- 发出一个 S3delete object 请求以删除原始照片,然后发出一个 S3 put object 请求以使用唯一的新照片文件名保存新照片。这将是每个文件更新两个 S3 请求,并且不需要 CloudFront CDN 失效请求。然后,CloudFront 将在更新后立即提供最新文件,并提供图像 URL 自动设置为新文件名
- 发出一个 S3 put 对象请求以使用其原始文件名保存文件,然后客户端将版本代码附加到 CDN URL(即 /img/profilepic.jpg?x=timestamp)或类似的东西。我不确定此策略在使缓存的 CloudFront 对象无效方面的效果如何
谢谢
【问题讨论】:
-
方法 3 可能不起作用,有人说 cloudfront 将删除查询字符串参数,stackoverflow.com/questions/10237838/…
标签: asp.net-mvc-3 amazon-s3 amazon-cloudfront