2

我刚刚了解到,您可以使用 Amazon Cloudfront 支持 Rails 应用程序的静态资产(HTML、CSS、JS、IMAGES)……我在这里阅读了一篇很好地描述了该过程的文章。

http://blog.codeship.io/2012/05/18/Assets-Sprites-CDN.html

我对这个 CDN 设置有几个问题:

1> 我有几乎相同的用例,但我不想从 CloudFront CDN 提供我所有的静态预生成(半动态)html ......我有大约 2 亿个 html 文件 ~7Kb ......所以大约1333 GB!!(rails 上的搜索引擎).. 但是,我的站点用户经常请求这些文件中的只有 10%.. 所以这是一个更易于管理的 130 GB(长尾)。每次离开 CloudFront 时,130 GB 的成本约为 77 美元/月(考虑到请求成本和一点余地)。但 1300 GB 的成本约为 770 美元/月。我想少付 90% 的费用,并且只缓存数据经常被访问..

2> 我可以只缓存在云端,即我经常访问的 10% 的数据集吗?并根据需要从我的服务器提供其余部分?

3> 在美好的一天,使用您当前的设置,我的云端将只有 133GB 的数据流出(假设每个经常访问的文件只有 1 个请求)。但是在糟糕的一天,假设一个爬虫请求我所有的链接..它将有 1333GB 的数据..我怎么能不多付呢?

4

1 回答 1

2

Cloudfront 专为资产缓存而非内容而设计。原因很简单:URL。

当您使用 cloudfront 时,您将资产 url 更改为 cloudfront 为您生成的任何主机。这对于静态资产来说没问题,但是缓存内容是地狱,特别是由 rails 动态生成的内容。

也就是说,永远不要使用任何 CDN 进行内容缓存,这没有意义,维护起来很麻烦。

于 2013-01-08T20:30:34.097 回答