Javascript 节点群集未将任务分派给另一个可用的工作进程

Javascript 节点群集未将任务分派给另一个可用的工作进程,javascript,node.js,express,node-cluster,Javascript,Node.js,Express,Node Cluster,这是我关于堆栈溢出的第一个问题,请原谅我在这个问题上的任何错误或信息不足 所以,我尝试在我的服务器上使用nodeJS的集群模块,并通过我的windows机器运行nodeJS。我知道nodeJS在windows中没有集群模块的任何调度策略,所以我已经明确地将调度策略设置为rr,正如nodeJS文档中提到的那样。 但问题是,当我试图通过将一个工人放入一个无限循环来让他保持忙碌时;当我们尝试向服务器请求“/”资源时,服务器未将请求分派给另一个可用且可用的工作进程 请帮助我为什么它没有将请求发送给其他工

这是我关于堆栈溢出的第一个问题,请原谅我在这个问题上的任何错误或信息不足

所以,我尝试在我的服务器上使用nodeJS的集群模块,并通过我的windows机器运行nodeJS。我知道nodeJS在windows中没有集群模块的任何调度策略,所以我已经明确地将调度策略设置为rr,正如nodeJS文档中提到的那样。 但问题是,当我试图通过将一个工人放入一个无限循环来让他保持忙碌时;当我们尝试向服务器请求“/”资源时,服务器未将请求分派给另一个可用且可用的工作进程

请帮助我为什么它没有将请求发送给其他工人。
var cluster=require('cluster');
if(cluster.isMaster){
var cores=require('os').cpu().length;
console.log(“主集群设置:-“+内核+工作进程”);
对于(var i=0;i{
console.log(“进程ID为-”+Worker.Process.pid+联机的工作进程”);
});
cluster.on('exit',(worker)=>{
log(“worker”+worker.process.pid+“已死亡…因此设置新的worker”);
cluster.fork();
});
}
否则{
var app=require('express')();
应用程序获取(“/”,(请求,请求)=>{
log(“带pid的进程”+Process.pid+“正在处理此请求”);
虽然(正确);
写下(“是的!”);
res.end();
//虽然(正确);
})
app.listen('3000');

}
您编写的上述代码运行良好。但是您需要向节点服务器发送并发请求,而不是在循环中发送请求,然后,您将看到节点集群模块的强大功能

节点集群模块有两种分配传入连接的方法

第一种方法(以及除Windows之外的所有平台上的默认方法)是循环方法

第二种方法是主进程创建侦听套接字并将其发送给感兴趣的工作人员。然后,工人直接接受传入的连接


您可以使用发送并发请求。现在您将看到切换到您的进程。

我在本地尝试了这段代码,在1分钟内发送了1000个并发用户。我能够看到这两个过程正在为响应服务