使用node.js运行许多并行的http请求

Jak*_*ake 8 parallel-processing asynchronous http node.js

我的任务是将一个进程分成许多并行运行的小进程,分发给许多从机.请求通过HTTP传入,服务器将其分解为发送到从属计算机的多个子进程,等待所有从属请求返回响应,然后将聚合结果整理为单个数据对象,作为结果返回顶级请求.我认为node.js会很有用,但由于它是单线程的,我无法确定这是否可能,或者它是否会阻止等待每个请求返回之后再转到下一个请求.这可能与node.js一起使用吗?如果是这样,有人会指出我正确的方向吗?即一个节点模块使用或概述它将如何完成?

谢谢你的帮助.

Ray*_*nos 5

您可以 手动生成子进程.

var util  = require('util'),
    spawn = require('child_process').spawn,
    node = spawn('node', ['slave.js']);

node.stdout.on('data', function (data) {
  console.log('stdout: ' + data);
});

node.stderr.on('data', function (data) {
  console.log('stderr: ' + data);
});

node.on('exit', function (code) {
  console.log('child process exited with code ' + code);
});

node.stdin.write("do my work!");
Run Code Online (Sandbox Code Playgroud)

我们期待实现一个Web Worker API来处理更高抽象的子进程


cle*_*lee 1

您想了解有关 WebWorkers 的内容。具体来说,您应该阅读http://developer.yahoo.com/blogs/ydn/posts/2010/07/multicore_http_server_with_nodejs/