3

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

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

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

但是,我们将有许多指向相对文件夹的资产引用,例如 /images/ 在 css 中,可能在 js 中,以及在 HTML 和源代码中。

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

我想知道是否有人以前必须处理过这个问题,以及在将内容推送到 CDN 和管理对 CDN 中资产的 html 和 css 引用方面,您采取了哪些解决方案来自动化管理 CDN。

谢谢

伊曼克

4

1 回答 1

3

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

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

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

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

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

于 2010-05-09T02:00:31.287 回答