如何在Rails应用程序中管理大量图像?

时间:2019-05-16 08:17:25

标签: ruby-on-rails assets amazon-cloudfront cloudinary

我必须在我的应用程序中管理大约200张高质量图像。我目前正在使用Cloudinary存储这些图像。

但是我已经看到许多应用程序使用不同的域名来存储图像和其他资产(例如:“ assets.example.com”)。如果我目前了解,在Rails应用程序中将其称为asset_host。我找到了有关它的内容的文档,但是关于如何设置它或如何提供文件的文档并不多。

他们如何做类似的事情?他们是否需要支付其他域名/服务器并仅使用该服务器来存储资产?

1 个答案:

答案 0 :(得分:1)

200张映像并不多,即使在100Mb /张映像(原始+缩小版本)下,它也只有20Gb的存储空间,在中等负载下,一台服务器可以轻松处理,而无需任何云,其他域等。已经将它们存储在云存储中-您不必担心。

asset_host用于资产管道(来自app/assets的css / js / images最终以public/assets结尾),而不是应用程序的托管数据

过去,资产是由其他主机提供服务的,以解决浏览器中的连接数限制(以便可以并行下载资产并更快地加载站点),这与现代HTTP / 2无关(甚至相反) -建立额外的http连接会产生开销),除非您承受的负载确实很高或有特定的需求(例如-在容器中部署时,单独存储资产可能很有用)。

第二个好处是浏览器不会将应用程序的Cookie发送到其他主机,从而节省了一点带宽。 许多站点将该域设置为由同一台物理Web服务器处理

关于支付域名-assets.example.comexample.com的第三级域名,如果您已经拥有后者-您也拥有它,则只需设置A(以及AAAA)DNS记录和服务器。