node.js - nodejs中图像的可扩展解析
问题描述
我正在设置一项新服务,我需要在其中处理图像解析。图像解析的代码是一个简单的 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++。
解决方案
我的意见是,您应该使用 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/
推荐阅读
- css - Firefox 检查器 - 使用 CTRL + Z 撤消 CSS 声明
- javascript - 是否有一套针对各种 JS polyfill 的现有单元测试?
- java - 映射到dto时如何从Put请求中排除值null
- javascript - OpenQA.Selenium.WebDriverException:'未知错误:arguments[0].click 在尝试使用 ChromeDriver Selenium 单击 svg 元素时不是函数
- javascript - 您如何“组合”ShaderMaterial 和 LambertMaterial?
- stream - 无法从 Kapacitor 流中获取响应 http Post 到本地快递应用程序
- typescript - 如何对原始类型进行类型查找以延迟其返回类型
- airflow - 我们可以在 Airflow 中为每个任务设置 priority_weight 吗?
- c++ - 将字符串作为指针传递时出错,无法将 const char* 分配给 char*
- java - 在 JAVA 程序中使用深度优先搜索而不是广度优先搜索