相关疑难解决方法(0)

276
推荐指数
9
解决办法
16万
查看次数

Node.js和CPU密集型请求

我已经开始修补Node.js HTTP服务器,并且非常喜欢编写服务器端Javascript,但有些东西阻止我开始使用Node.js作为我的Web应用程序.

我理解整个异步I/O概念,但我有点担心程序代码非常CPU密集的边缘情况,例如图像处理或排序大数据集.

据我了解,服务器对于简单的网页请求非常快,例如查看用户列表或查看博客帖子.但是,如果我想编写非常CPU密集型代码(例如在管理员后端)生成图形或调整数千个图像的大小,请求将非常慢(几秒钟).由于此代码不是异步的,因此在几秒钟内发送到服务器的每个请求都将被阻止,直到我的慢请求完成为止.

一个建议是使用Web Workers进行CPU密集型任务.但是,我担心网络工作者会很难编写干净的代码,因为它的工作原理是包含一个单独的JS文件.如果CPU密集型代码位于对象的方法中该怎么办?为每个CPU密集型方法编写一个JS文件真是太糟糕了.

另一个建议是生成子进程,但这使得代码更难以维护.

有什么建议可以克服这个(感知的)障碍吗?如何使用Node.js编写干净的面向对象代码,同时确保CPU重任务执行异步?

javascript web-worker serverside-javascript node.js

205
推荐指数
4
解决办法
5万
查看次数