【发布时间】:2018-03-06 23:16:09
【问题描述】:
我目前有一个在一些专用服务器上运行的 rails 应用程序,我需要通过从 s3 获取产品图像来动态(根据请求)生成一些横幅图像,并在每个图像之上生成一些自定义格式(结合徽标,产品价格,一些文本等)。生成图像后,可以将图像缓存在 CDN 中。
有很多很多的产品图片,需要进入每张图片的数据/文本/价格经常变化,因此我不想依赖预先生成所有图片组合并将它们存储在 S3 中。在我目前的设置中,我在后台使用 imagemagick 生成图像,请求大约需要 750 毫秒,其中 2/3 是在 ruby/imagemagick 中花费的时间,1/3 是网络。
我正在考虑将生成实际横幅图像的工作转移到 Amazon(可能是 EC2)上。通过这种方式,我可以缩短 s3 的网络,并且随着请求的进入,我可以更好地扩大和缩小规模。然后,我可以从我当前的应用程序中通过 API 获取生成每个图像所需的数据/文本。但是我不确定是否有适合实际图像生成的确切任务的库,什么是高性能的?还有比生成一些 EC2 服务器(例如 lambda)更好的方法吗?
【问题讨论】:
-
我用
primarily opinion-based标记它,因为有许多 许多 方法可以实现高性能应用程序。我建议使用 ImageMagick-7Q8(没有 HDRI)、Magick++ 和 AWS SDK for C++ 来创建订阅 SQS 的守护进程。
标签: ruby-on-rails amazon-web-services image-processing amazon-ec2 imagemagick