Node.js端点级别的集群负载平衡

Node.js端点级别的集群负载平衡,node.js,express,cluster-computing,load-balancing,node-cluster,Node.js,Express,Cluster Computing,Load Balancing,Node Cluster,我使用集群,有两个节点正在运行。每个节点都有一个API,该API执行一项任务的时间约为5-6秒 比如说 在cluster.js中 const cluster = require("cluster"); if (cluster.isMaster) { for (let i = 0; i < 2; i++) { cluster.fork(); } } else { require("./server"); } const clus

我使用集群,有两个节点正在运行。每个节点都有一个API,该API执行一项任务的时间约为5-6秒

比如说

在cluster.js中

const cluster = require("cluster");

if (cluster.isMaster) {
  for (let i = 0; i < 2; i++) {
    cluster.fork();
  }
} else {
  require("./server");
}
const cluster=require(“集群”);
if(cluster.isMaster){
for(设i=0;i<2;i++){
cluster.fork();
}
}否则{
要求(“/服务器”);
}
这里是server.js

  const express = require("express");
  const app = express();
  const port = 8080;

  app.get("/", async (req, res) => {
   await sleep(5000);
   res.send('handled by process: ' + process.pid);
  });

  async function sleep (ms){
    if (ms <= 0) return;
    return new Promise((resolve) => {
      setTimeout(resolve, ms);
    });
  };

  app.listen(port, () => console.log(`port: ${port}`));
const express=require(“express”);
常量app=express();
常数端口=8080;
app.get(“/”,异步(req,res)=>{
等待睡眠(5000);
res.send('由进程处理:'+process.pid);
});
异步函数睡眠(ms){
如果(毫秒){
设置超时(解析,毫秒);
});
};
app.listen(port,()=>console.log(`port:${port}`));

如果我请求API。第一个节点收到请求并在5-6秒左右处理。在它完成处理和响应之前,我向API发送第二个请求。但是请求被发送到第一个节点,而不是第二个节点。如何实现一个节点集群来实现这一点?

您如何使用集群?你能发布相关代码吗?好的,我刚刚编辑了代码。这很正常。第一个进程没有过载,因此它仍然可以毫不费力地处理请求。根据“文件”。只要试着重载它,你就会看到这两个节点可以正常工作了。谢谢,但是你知道node.js的任何特性或库都可以做到这一点而不需要重载吗?