2010-05-07 119 views
3

有没有人有策略在部署时将内容推送到CDN?自动推送到CDN部署策略

我面临的关键问题是我们有一个可用于各种环境的站点:本地开发,开发服务器,分段,然后最终生活。

该网站的肝版需要加载来自域的资产,该域将指向CDN:assets.domain.com。

但是,我们将有大量指向相对文件夹的资产的引用,例如,/images/in css,可能在js中,以及HTML &来源。

我们的新网站将使用capistrano进行部署,也可能是我们可以挂钩另一个构建工具(apache ant?)或一些自定义脚本来搜索/替换路径。

我想知道是否有人必须先处理这个问题,以及您将什么解决方案用于自动化管理CDN,将内容推送到CDN以及管理对CDN中资产的css引用。

感谢

Imanc

回答

3

一般来说,使用的CDN拉式高速缓存,而不是基于推的复制。

这是因为将大量的内容(考虑到他们的所有客户)推送到任何大量的分布式节点是一个困难的分布式系统问题,并且预测未来的流量模式来优化分布更加困难。

尽管某些(例如Akamai)提供了使网络中的内容无效的功能,但通常认为它是'紧急切换',而不是您可以集成到部署过程中的某些内容。

有些人还可能会提供'登台服务器',你可以推送你的内容,但它确实不会进入CDN;相反,CDN只会在流量发生时从他们自己的服务器上提取内容。这可能足以满足你的需求(通常它们提供FTP,SSH和其他接口)。

否则,最好的办法是等待您设置的TTL(例如,Cache-Control:max-age)超时,并在内容向后兼容时刷新内容,或者如果不是,请更改网址。

+0

非常感谢,马克。我想我需要为CDN实际获得一些文档,并找出我们如何才能使其与我们的部署过程协同工作。一开始,我们将把资产子域映射回我们的网络服务器,并将其用于CDN内容。如果网站需要扩展,这给了我们一个应急计划。在这种情况下,我们需要将数据推送到它,也许使用shell脚本和rsync,并且在部署过程中,我们必须扫描css文件等来映射本地目录资产,例如/assets/images/img1.jpg复制到assets.mydomain.com/assets。 – user307927 2010-05-10 10:13:52