NodeJS - 它如何处理请求

时间:2014-11-03 13:41:01

标签: javascript node.js

假设您有以下代码:

var http = require('http'); 
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  //Computations that takes one millisecond
  ............
  res.end('Hello World\n');
}).listen(8124, "127.0.0.1");

问题:

  1. Node会并行处理这些回调吗?
  2. 如果我们每毫秒发送超过1个请求(让3个请求同时发出),会发生什么?
  3. 如果我们每秒发送15万个请求会怎么样?

1 个答案:

答案 0 :(得分:2)

虽然我是nodejs的新手,但我会尝试提供一些建议。

恕我直言,Node不处理任何并行性。它是单线程,意味着只有1个进程,1个线程,1个cpu。他的所有权力都在于使用回调函数进行非阻塞处理。这使得节点保持快速而没有多线程的复杂性。

如果单个nodejs服务器不足以满足您的大量传入请求,请考虑使用群集来利用多核系统:http://nodejs.org/api/cluster.html

只是谷歌。关于这个主题有很多文章。