我想知道之间是否存在差异,表现明智:
1)在同一个港口:
var http = require('http');
http.Server(function (req, res) {
if (req.url == 'foo') { foo(); return;}
if (req.url == 'bar') { bar(); }
}).listen(123);
2)在2个端口上拆分
var http = require('http');
http.Server(function (req, res) {
foo();
}).listen(123);
http.Server(function (req, res) {
bar();
}).listen(456);
3)在2个单独的js文件中,我将在2个不同的节点cmd上启动。
例如, foo()
和bar()
是可能需要时间来解决的功能,例如上传文件。
答案 0 :(得分:1)
两个不同的节点实例为您提供两个CPU线程(但耗尽更多内存,无法轻松共享状态)。这是我能看到的唯一真正的区别。
答案 1 :(得分:1)
#1和#2在性能方面基本相同。如果您运行两个服务器(如#3)并且您拥有多核计算机,则可以执行最多两倍的同时请求,具体取决于所需的IO和可用。