【问题标题】:Dependencies that must be done away with for using CDN使用 CDN 必须消除的依赖项
【发布时间】:2013-02-19 21:34:39
【问题描述】:

我想知道,网站使用CDN有什么特殊要求吗?

我的意思是,是否有一些特殊的方案(或至少考虑因素),您的网站必须从一开始就建立起来才能使用 CDN(内容交付网络)。

是否有任何东西可以阻止网站使用 CDN,例如它引用内容文件的方式、静态文件路径或任何其他可以想象的东西。

谢谢

【问题讨论】:

    标签: asp.net performance web cdn


    【解决方案1】:

    视情况而定。

    您有两种 CDN 服务:

    • AWS Cloudfront 之类的服务要求您将文件上传到他们从中读取的某个特殊位置(例如 AWS S3) - 在这种情况下,您需要在构建过程中有一个步骤来正确上传文件并处理地址以某种方式在您的应用程序中
    • 像 Akamai 这样的服务只需要您更改和调整您的 DNS 记录,以便他们将请求提供给您的用户而不是您 - 在这种情况下,您将有两个域(image.you.com 和 image2.you.com ) 并让 image.you.com 指向 Akamai,让 image2.you.com 指向文件的原始源。每当用户在 Akamai 中请求图像时,他们都会通过“后门”找到您,获取图像并始终开始提供该文件。

    如果您使用第二种方法,那么让 CDN 支持您的应用程序非常简单。

    【讨论】:

      【解决方案2】:

      在处理 CDN 解决方案时存在很多问题。

      第一个问题是 CDN 不能提供动态页面 - 即每个用户唯一的页面。通常,这包括 PHP、ASPX、JSP、RubyOnRails 等。因此,如果您希望为动态站点支持大量用户,则必须提出另一种解决方案。一些 CDN 提供商支持“Edge Side Includes”——这允许您将动态页面与 CDN 上的缓存内容粘合在一起,但这会创建一个相当复杂的应用程序。

      当然,即使在动态应用程序上,CDN 仍然可以提供静态文件——图像、样式表、javascript 文件、视频等。

      @Tucaz 在这里解释了两个主要选项(实际上,Akamai 还提供了“文件存储”CDN 选项)。如果您选择第二个选项 - 实际上,CDN 将成为您网站前面的缓存反向代理 - tweak the cache headers on your HTTP server 是有意义的,并告诉 CDN 尊重这些。确保将 .ASPX 文件设置为不缓存!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-16
        • 2018-10-23
        • 2015-02-23
        • 1970-01-01
        • 2012-06-08
        • 1970-01-01
        相关资源
        最近更新 更多