我目前有一个rails应用程序运行在一些专用服务器上,在这些服务器上,我需要动态地(每个请求)从s3中获取产品图像,并在每个图像之上生成一些自定义格式(结合徽标、产品价格、一些文本等等)。在生成图像之后,可以将图像缓存在CDN中。
有很多很多产品图像和数据/文本/价格需要进入每个图像经常变化,因此我不想依赖于预先生成所有的图像组合,并将它们存储在S3中。在当前的设置中,我在引擎盖下使用imagemagick生成图像,请求大约需要750 is,其中2/3用于ruby/imagemagick,1/3用于网络。
我正在考虑将生成实际横幅图像的工作转移到亚马逊(可能是EC2)上。这样,我可以缩短网络到s3,我可以更好地放大和下降的请求进来。然后,我可以从我当前的应用程序中获取生成每个图像所需的数据/文本。但是,我不确定是否有适合实际映像生成的确切任务的库,什么是高性能的呢?还有比产生一些EC2服务器(例如lambda)更好的方法吗?
发布于 2018-07-24 12:06:53
你可以看看红宝石-贵宾。它通常是比imagemagick快3到4倍,需要的内存要少得多。如果您打开一个红宝石要人github回购问题,我可以帮助建立一个基准测试。
它是部分rails6,因此它可能很容易实验,这取决于您使用的是哪条rails。
发布于 2017-09-27 22:16:26
您可以将您的应用程序部署到ElasticBeanStalk,然后让亚马逊来处理当您看到高负载时需要扩展的底层。
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html
或者正如你所指出的,你可以和Lambda一起变得无所事事。
https://stackoverflow.com/questions/46414463
复制相似问题