自动推送到CDN部署策略

时间:2010-05-07 06:08:06

标签: deployment capistrano cdn

有没有人对在部署时将内容推送到CDN的策略有想法?

我面临的一个关键问题是,我们有一个可在各种环境中使用的站点:本地开发,开发服务器,升级,然后最终生效。

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

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

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

我想知道是否有人之前必须处理此问题以及您采用了哪些解决方案来自动管理CDN,以便将内容推送到CDN并管理html& amp; css引用CDN中的资产。

由于

Imanc

1 个答案:

答案 0 :(得分:3)

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

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

虽然有些(例如Akamai)确实提供了使网络中的内容无效的功能,但它通常被视为“恐慌开关”,而不是您可以集成到部署过程中的内容。

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

否则,您最好的选择是等待您设置的TTL(例如,Cache-Control:max-age)超时并刷新内容,当内容向后兼容或更改时当URL不存在时。