7

我对整个 CDN 理念还很陌生,所以这可能是一个愚蠢的问题,但我相信有人可以对此有所了解。我有一个基本的 php 脚本,它可以上传用户图像,调整它们的大小,创建一个目录 ( $user_id),并将完成的产品存储在目录中 (如www.mysite.com/uploads/$user_id/image1.jpg)。奇迹般有效。

我刚刚得到了所有托管的东西,我正在使用 Rackspace(Slicehost?)“云服务器”架构。我还注册了 Rackspace(Mosso?)“云文件”。到目前为止,一切都很好。

所以我的问题是:我应该将用户上传的图像存储在本地(在我的 apache 服务器上)还是通过云文件存储为对象?将静态内容与我的 Web 服务器分开似乎是个好主意,这样我就可以使用它来生成动态内容。但是每次用户上传图片时,创建一个支持 CDN 的 Container 会不会有很多开销?

希望我不会完全错过这艘船。我似乎无法找到关于此的大量信息,但我确信我应该追求或避免这个想法是有充分理由的。任何建议都非常感谢!

4

1 回答 1

13

我不熟悉 Rackspace 的产品,但使用 CDN 处理静态内容的一般逻辑是为了实现两个目标:

  1. 将带宽和处理卸载到其他服务器,释放您的。
  2. 将请求移至客户端
  3. 将大型静态内容移近客户端

例如,当您将生成的 HTML 发送到浏览器时,它会将图像“看到”为 www.yourdomain.com/my_image.jpg,并对每条静态内容执行附加请求,这可能会使您的服务器线程饥饿以服务请求. 如果您将所有这些内容移动到 CDN 上,浏览器会看到类似 cdn.yourdomain.com 的内容,并且浏览器将从 CDN 请求图像,从而允许您的服务器为其他请求提供服务。此外,大多数 CDN 将您的内容分发到多个位置,并具有地理路由请求以从最近的可能位置提供内容,从而改善客户端的感知加载时间。

于 2009-08-26T20:21:51.790 回答