Node.js端点级别的集群负载平衡
我使用集群,有两个节点正在运行。每个节点都有一个API,该API执行一项任务的时间约为5-6秒 比如说 在cluster.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
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的任何特性或库都可以做到这一点而不需要重载吗?