【问题标题】:Question about Content Delivery Networks CDN关于内容分发网络 CDN 的问题
【发布时间】:2010-03-18 06:03:06
【问题描述】:

我已经构建了一个 javascript 文件,我的客户将安装在他们的网站上,该文件将调用我的服务器。我想知道在 CDN 上而不是在我的服务器上托管 javascript 文件是否更好?好处将是更好的响应时间和更高的机会始终可用。但是,将来,如果 CDN 被另一家公司购买或停业,该文件可能无法再访问,并且我将有许多客户端链接到一个不存在的文件。有什么办法可以防止这种情况发生吗?

【问题讨论】:

  • 如果您总是向他们提供您所引用的外部代码,并向他们提供有关如何从 CDN 切换到本地托管的说明,这应该不是问题。
  • 安德拉斯,你知道我在哪里可以找到更多相关信息吗?听起来很有趣,但我不确定它是如何工作的。
  • yummm:您是否有特定原因要自己托管该 javascript 文件?一个简单的解决方案是制作可下载源的 zip 文件,以便他们可以随时获取它,同时从 CDN 提供真实内容。
  • 他们很快就会在他们的网站上添加几行 JavaScript 代码来调用我的服务器,类似于谷歌分析和其他类似的服务。我只是想弄清楚文件放在哪里,以便随时可以访问。
  • 至于为此设置专用域名:我确信拥有它很好,但我不确定它是否真的让客户感到更安全(并且他们最终不会链接直接到cdn)。如果我必须在直接链接到 amazon/akamai 或 somecompanyiveneverheardof.com 之间做出选择,我肯定会选择前者。这对人们来说是自动的。

标签: javascript cdn


【解决方案1】:

要从 CDN 引用内容,您可以将您的域/子域指向 CDN 服务器,客户端可以使用您的域引用 JS。所以将来如果你想切换 CDN,它只是 DNS 条目。

如果您对购买 CDN 中的空间不感兴趣,那么您应该建议您的客户将其托管在他们拥有的域/子域中,并更新 DNS 记录以指向他们选择的 CDN。

【讨论】:

  • 这是否意味着我可以在我的 DNS 设置中为“脚本”设置一个新的 A 记录并将其转发给 aCDN?或者,我需要在我的服务器上设置 apache 中的子域并对 CDN 服务器进行 modrewrite 吗?
  • @yummm:您选择的 CDN 可能会为您提供更多说明。 (他们可能会建议设置 CNAME 记录。)
  • 这正是我所需要的。非常感谢!
【解决方案2】:

CDN 并不总能加快速度。除非 CDN 非常流行,否则浏览器不会缓存脚本。它将必须执行另一个 DNS 查找并创建一个新连接,这需要一些时间。

更可靠的 CDN 也是一个错误的好处,因为如果您的网站出现故障,CDN 是否正常运行并不重要。

虽然它可能会为您节省一些带宽,但只是一小部分。例如 jQuery 比 jquery14.com 使用的背景图片小很多

【讨论】:

  • 对我来说真正的主要好处是,如果我的服务器出现故障,如果文件位于 CDN 中,则链接到我的 javascript 文件的网站将不会受到影响。但是,如果文件在我的服务器上并且出现故障,我的客户端网站可能无法完全加载,因为请求将超时(取决于用户使用的浏览器)。
  • DNS 查询也会被缓存。第一次访问该网站时,它主要是一次性的。即使有这个命中,由于并行下载,页面加载时间可能会更短:code.google.com/speed/page-speed/docs/… jQuery 可能很小,但为 200.000 个唯一用户提供服务是 4.5GByte/天。为什么不保存并同时让您的网站更快?此外,它的 CDN 之一是 google。我相信这很受欢迎。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-15
  • 1970-01-01
  • 1970-01-01
  • 2016-01-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多