【发布时间】:2018-06-26 05:50:56
【问题描述】:
背景 - 我的应用与 Chef 相关,人们将在其中发布图片和视频。这些数字将是巨大的。
技术栈 - RoR、nginx、Postgresql、AWS。
我的问题:
- 既然会有很多文件,建议是什么。我应该使用 s3 来存储图像吗?实施 CDN 了吗?
- 我将对文件进行标记,以便在这些标记上搜索它们。存储标签的最佳方式是什么?
- 负载平衡?
我正在研究 FB 如何存储图像和视频。不确定我是否必须这样做,因为我的是一个小应用程序。
P.S - 我已经用基本的 s3 设置完成了 MVP,但是存在性能问题。
我想使用另一个数据库,因为图像和视频是非结构化的。 (如果我错了请纠正我) 我发布这个是因为我有一个实际的工作问题。
【问题讨论】:
-
第三点,为什么需要负载均衡器?
-
你是对的。此刻那将是过度工程。只是在流量很高的情况下考虑。
-
如果您的流量很高,那么您需要考虑您的应用程序的解决方案。你用什么来服务 http 请求?事实上,您可以提供 S3 对象的经过身份验证的 URL,这样您的应用程序服务器带宽就不会被阻塞。在列出图像请求时,您可以提供经过用户 s3 身份验证的 url,这样当下载媒体时,它不会来自您的服务器
-
对。过去,与私有相比,S3 文件的公共文件存在一些问题。
标签: ruby-on-rails postgresql performance nginx scalability