使用CDN必须消除的依赖关系

时间:2013-02-19 06:36:21

标签: asp.net performance web cdn

我想知道,网站是否有特殊要求使用CDN?

我的意思是有一些特殊的方案(或至少考虑因素),您的网站必须从一开始就构建,以利用CDN(内容分发网络)。

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

由于

2 个答案:

答案 0 :(得分:1)

取决于。

您有两种CDN服务:

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

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

答案 1 :(得分:0)

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

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

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

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