【问题标题】:Using a CDN to store/serve user image uploads?使用 CDN 存储/服务用户图片上传?
【发布时间】:2010-11-21 10:03:36
【问题描述】:

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

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

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

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

【问题讨论】:

  • 你不需要每次都创建一个容器;只需将文件上传到现有文件中即可。从长远来看,这样做的开销可以忽略不计,完全值得。

标签: image-processing cloud cdn slicehost mosso


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    相关资源
    最近更新 更多