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

标签 node.js http asynchronous parallel-processing

我的任务是将一个进程拆分为许多并行运行的较小进程,分布到多个从属机器上。请求通过 HTTP 传入,服务器将其拆分为多个子进程发送给从机,等待所有从机请求返回响应,然后将聚合结果整理成单个数据对象作为返回结果顶级请求。我认为 node.js 会很有用,但由于它是单线程的,所以我不太清楚这是否可行,或者它是否会阻塞等待每个请求返回,然后再继续下一个请求。这可能与 node.js 吗?如果是这样,有人可以指出我正确的方向吗?即要使用的 Node 模块或概述如何完成?

感谢您的帮助。

最佳答案

你可以生成 child processes 手动。

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!");

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

关于node.js - 使用 node.js 运行许多并行的 http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5674077/

相关文章:

javascript - 如何升级 Node 文件中的特定包?

sencha touch 2 中的 HTTP 请求

c# - 无锁、可等待、独占的访问方式

asynchronous - 使用Google Analytics(分析)(异步版本)来跟踪点击次数,而不会破坏target = _blank

php - 服务器响应中的 "Connection: Keep-Alive"

android - 在 Android 应用程序中实现此行为的最佳策略?

javascript - 将 python 请求转移到 node.js 请求时遇到问题

javascript - 在服务器端渲染动态修改 <base> 标签

javascript - Nodejs with multer 不通过postman工具上传文件

silverlight - Http 托管 silverlight 应用跨域访问 https 托管服务