使用CDN存储/提供用户图像上传?

时间:2009-08-20 17:35:36

标签: image-processing cloud cdn slicehost mosso

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

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

所以我的问题是:我应该存储用户在本地(在我的apache服务器上)上传的图像还是通过云文件存储的对象?将静态内容与我的Web服务器分开似乎是一个好主意,因此我可以使用它来生成动态内容。但是,每次用户上传图像时,创建启用CDN的容器会产生大量开销吗?

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

1 个答案:

答案 0 :(得分:12)

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

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