【问题标题】:What are the pros and cons to using AWS/S3 for static content?将 AWS/S3 用于静态内容的优缺点是什么?
【发布时间】:2014-05-02 15:30:13
【问题描述】:

想请大家多多指教。我有一个基于多媒体的站点,它托管在传统的基于 Linux 的 LAMP 主机上。由于该站点拥有最多的图像/视频内容,大约有 30000 多个帖子,数据库大小约为 20-25MB,但文件系统使用量为 10GB,带宽约为 800-900 GB(允许 1 TB)正在得到利用每个月。

现在,经过一些头脑风暴并在这里和那里看到我的替代方案后,我想出了两个选择

  1. 增加/获得更大的托管计划。
  2. 将我的静态内容存储在 Amazon S3 上。

虽然第一个计划将是一个简单的选择,但我实际上期待第二个计划,即将我的静态内容存储在 Amazon S3 上。我拥有的网站完全是自定义编码的,并且基于 PHP+MySQL。我浏览了这个http://undesigned.org.za/2007/10/22/amazon-s3-php-class/,它给了我一个合理的想法。

当我考虑在 s3 上托管静态内容时,我很想知道利弊。

请提供您的意见。

【问题讨论】:

  • 那是相当老的流量!但是,您“应该”做什么只是一个见仁见智的问题,而且本质上是很笼统的。 Stack Overflow 旨在解决对未来受众有用的具体、可回答的问题。
  • @halfer,我更新了问题,我想在 s3 上托管我的静态内容,请根据您的经验告诉我优缺点/操作方法

标签: php amazon-web-services amazon-s3


【解决方案1】:

增加/获得更大的托管计划。

我不会那样做。原因是,存储很便宜,而“更大的托管计划”的其他组件将花费您高昂的成本,而不会立即带来好处(如果您不需要,更多的内存会很昂贵)

将我的静态内容存储在 Amazon S3 上。

这是要走的路。 S3 很便宜,很简单。话虽如此,既然我们在这里谈论视频,我会推荐第三种选择:

[3.] 在 AWS S3 上存储视频并通过 CloudFront 提供服务。相比之下,考虑到惊人的带宽和全球分布,它仍然相当便宜。 CloudFront 是 Amazon 的 CDN,用于以极快的速度到达任何位置。

如果您想节省带宽,您还可以考虑使用 Amazon Elastic Transcoder 进行高质量压缩(以最大限度地减少带宽使用)。

传统主机太贵了。

【讨论】:

    【解决方案2】:

    更大的托管计划

    寻求更大的托管计划并不是永久的解决方案,因为

    1. 由于静态内容图像/视频的大小总是在增长。这次你需要 1 TB,下次它会增加更多。所以,你将再次陷入同样的​​境地。
    2. 随着用户和静态内容的增长,您的带宽也会增加,您的成本也会增加。
    3. 您的数据库没有那么大,我们可以假设您没有使用大量的 CPU 资源和内存。因此,您只会使用更多的磁盘空间并为您不使用的更大的 CPU 和内存付费。
    4. 从技术上讲,从单个服务器处理所有请求并不好。浏览器每个域的并发请求数有限。

    S3/ 静态内容的云存储

    s3 或其他云存储是静态内容的不错选择。以下是好处。

    1. 您无需担心它会自动扩展并提供充足的存储空间。
    2. 如果您的网站可在全球不同位置访问,您可以管理一个 cdn 以提高从最近位置传送内容的速度。
    3. 与传统托管相比,带宽非常便宜。
    4. 它还可以通过上传文件并从 s3 提供服务来减轻服务器的负担。

    这些是使用 s3 优于传统托管的一些好处。由于 s3 是专门为服务器静态内容而构建的。决定权在你手中:)

    【讨论】:

      【解决方案3】:

      如果您着眼于长远,在某些时候您可能买不起能够保存您所有数据的服务器。我认为 S3 对于像您这样的情况是一个不错的选择,原因如下:

      1. 您无需担心大文件上传会占用您的服务器。使用Cross Origin Resource Sharing,您可以将文件直接从客户端上传到您的 S3 存储桶。

      2. 当网页请求来自不同域的内容时,现代浏览器通常会加载并行请求。如果您的图片来自 yourbucket.s3.amazonaws.com,而网站的其余部分则从 yourdomain.com 加载,您的用户可能会遇到更短的加载时间,因为这些请求将并行运行。

      3. 在某些时候,您可能希望使用内容分发网络 (CDN) 来为您的媒体提供服务。发生这种情况时,您可以使用 Amazon 的 Cloudfront 并提供对 S3 的开箱即用支持,或者您可以使用其他 CDN - 目前最流行的 CDN 确实支持从 S3 存储桶提供内容。

      4. 这是一个您永远不必担心的问题。亚马逊负责冗余、可用性、备份、故障转移等。这是你肩上的一大负担,让你有其他事情需要处理,知道你的媒体是以可扩展且面向未来的方式存储的(至少是可预见的)未来)。

      【讨论】:

        猜你喜欢
        • 2020-05-07
        • 2010-11-22
        • 1970-01-01
        • 2021-10-29
        • 1970-01-01
        • 2010-10-05
        • 1970-01-01
        • 2023-03-17
        • 2018-06-19
        相关资源
        最近更新 更多