Ruby on rails 正确使用Heroku、Rails、Dragonfly、S3和Cloudfront

Ruby on rails 正确使用Heroku、Rails、Dragonfly、S3和Cloudfront,ruby-on-rails,heroku,amazon-s3,thumbnails,amazon-cloudfront,Ruby On Rails,Heroku,Amazon S3,Thumbnails,Amazon Cloudfront,对于如何在Heroku/Rails应用程序中正确处理图像和缩略图,似乎存在很多疑问 在我的上一个应用程序中,我们试图摆脱S3 bucket,并使用Dragonfly将所有图像从Rails应用程序生成到Cloudfront的CDN。这似乎是个好主意,直到我们意识到Cloudfront会针对每个地理位置向Heroku应用程序请求一次每个缩略图 我的问题是:在这样的环境(Heroku、Rails、Dragonfly、S3/Cloudfront)中,生成缩略图并从Cloudfront CDN提供/缓存它

对于如何在Heroku/Rails应用程序中正确处理图像和缩略图,似乎存在很多疑问

在我的上一个应用程序中,我们试图摆脱S3 bucket,并使用Dragonfly将所有图像从Rails应用程序生成到Cloudfront的CDN。这似乎是个好主意,直到我们意识到Cloudfront会针对每个地理位置向Heroku应用程序请求一次每个缩略图

我的问题是:在这样的环境(Heroku、Rails、Dragonfly、S3/Cloudfront)中,生成缩略图并从Cloudfront CDN提供/缓存它们的最佳过程是什么?

为什么要删除S3

通过将缩略图推到S3并将CloudFront放在顶部,可以删除每个端点的抓取

如果您正在服务的图像寿命很短,并且可能会被服务多次,那么我认为您当前的设置是合理的。当您为每个CloudFront端点提供数千次图像服务时,每个请求只需付出很小的代价

如果图像的寿命更长,则将其放回S3,并将CloudFront放在顶部。这将消除您担心的Heroku实例上的负载