【发布时间】:2016-08-18 14:02:44
【问题描述】:
我构建了一个 Ruby on Rails 应用程序,其核心涉及用户和视频。
有一些具有管理员权限的用户可以上传视频(每个大约 5 分钟,高清)。网站上的其他用户只能观看视频;他们自己没有上传的能力。我预计每周将上传大约 20 个视频。观看视频的用户不超过 2 或 3000 人(全部在北美)。
我有两个 S3 Bucket,我们称它们为 Bucket X 和 Bucket Y。 我已经内置了 Carrierwave 来将视频上传到 S3 Bucket X,并内置了 AWS Elastic Transcoder 来从 Bucket X 中获取视频,将其转码为 Mp4,然后将其放置在 Bucket Y 中。
在 Bucket Y 中生成的视频文件正是我想要的:Web 优化、压缩的 MP4 格式。如有必要,我可以直接从 Bucket Y 中的 url 提供视频。
不过,与此同时,我正在使用 AWS Cloudfront CDN 将资产和用户上传的个人资料图片快速交付给每个用户。
对于像我这样的网站,每周上传大约 20 个 5 分钟长的视频,使用 Cloudfront 是否有意义?
我遇到过像 this 和 that 这样的文章,这些文章表明 Cloudfront 适合投放视频。我也遇到过其他人,比如this stack overflow answer by Wayne Koorts,这表明 Cloudfront 主要只在交付较小的文件方面具有优势,而且可能成本很高。
考虑到每周只会上传大约 20 个视频,其余都是 get 请求,我不关心使用 Cloudfront 的价格。 但是,在这种情况下,Cloudfront 是否值得使用?如果我们谈论的是 5 分钟长的视频,它真的会加快加载时间吗?
感谢任何帮助。非常感谢您。
【问题讨论】:
-
您的应用程序是在全球范围内服务还是仅限于某些地理或国家?
-
只有美国。但是我认为 Cloudfront 在美国有多个地点,这会有所作为,对吧?与单个 S3 存储桶相反。
-
是的@Parker CloudFront 在美国有几个位置,是的,将 CloudFront 与 S3 一起使用通常比不使用它更有意义,即使您不期望有很多流量或很多缓存命中......事实上,几乎是不费吹灰之力。如果它与 S3 一起使用,它将与 CloudFront+S3 一起使用,但需要注意的是 CloudFront 的下载文件大小限制为 20 GB,而 S3 支持高达 5 TB 的文件。由于 CloudFront 边缘和 S3 之间的网络经过优化,除非浏览器在地理位置上靠近存储桶,否则未缓存的内容通常仍会通过 CloudFront 更快地下载。
标签: amazon-web-services amazon-s3 html5-video amazon-cloudfront aws-sdk