我正在设置一项新服务,其中需要处理图像解析。图像解析的代码是一个简单的js函数,它对每个像素进行一些操作,对于大图像来说,则要花费一些时间(例如10-15)秒。 我最初的想法是在nodejs中进行设置,因为我知道它并且解析功能在javascript中。但是由于它是单线程的,所以我似乎不知道如何使它可扩展以同时处理1000个请求。我了解如何在节点中处理I / O,并且有一些使CPU密集型任务异步的方法,例如本博客中建议的方法。 https://medium.com/@badewakayode/running-cpu-intensive-task-in-nodejs-db4f995db310
但是在这种情况下,nodejs真的很有帮助。还是我应该切换到其他一些选项,例如go-lang,java,c ++。
答案 0 :(得分:0)
我的意见是,您应该使用AWS Lambda或其他一些无服务器解决方案来横向扩展。您可以将node.js函数设置为在将映像上传到S3存储桶并自动处理它时触发。 Lambda还将扩展实例以应对高利用率
以下是几篇文章:
https://read.acloud.guru/serverless-image-optimization-and-delivery-510b6c311fe5 https://aws.amazon.com/blogs/compute/resize-images-on-the-fly-with-amazon-s3-aws-lambda-and-amazon-api-gateway/