Ruby on rails Amazon cloudfront自定义原始轨道

Ruby on rails Amazon cloudfront自定义原始轨道,ruby-on-rails,amazon-cloudfront,Ruby On Rails,Amazon Cloudfront,我刚刚了解到,您可以使用Amazon Cloudfront支持Rails应用程序的静态资产(HTML、CSS、JS、图像)。。。我在这里读了一篇文章,很好地描述了这个过程 关于此CDN设置,我有几个问题: 1> 我有几乎相同的用例,但我不想提供所有从CloudFront CDN预生成的静态(半动态)html。。。我有大约2亿个html文件,每个约7Kb。。所以这大约是1333 GB!!(rails上的搜索引擎)。。但是,只有10%的文件经常被我的网站用户请求。。因此,这是一个更易于管理的130

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

关于此CDN设置,我有几个问题:

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

2> 我是否可以只缓存在cloudfront中,即经常访问的数据集的10%中?根据需要从我的服务器上提供其余的服务


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

Cloudfront是为资产缓存而设计的,而不是为内容。原因很简单:URL

当您使用cloudfront时,您将资产URL更改为主机cloudfront为您生成的任何URL。对于静态资产来说,这是可以的,但是缓存内容,特别是rails动态生成的内容是非常困难的


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

我对维护开销很满意。我有一个自动化维护的系统。我只是想知道这是否可能,因为从可伸缩性的角度来看,这将是令人惊讶的。i、 e.我的Web服务器仅在需要时向cloudfront发送文件。Cloudfront反过来将轻松处理流量峰值。至于Cloudfront处理动态内容。。亚马逊的这个网站说这是非常可行的: