繁体   English   中英

如何使用群集来处理负载并表达服务器配置,以实现服务器的100%正常运行时间

[英]How to achieve 100 % uptime for the server using cluster for handling the load and express for server configration

我想使用群集创建服务器。 我有四核(4 CPU)。

我想做一个主服务器,以便在三个工作服务器之间切换请求/响应。 当一个工作程序引发异常或死亡时,它应该重新启动,而其他工作程序仍将运行,而当该工作程序将自己重新启动时,主服务器不应将任何请求路由到该工作程序。

这样服务器可以实现100%的正常运行时间。

我曾尝试追踪,但没有满足我的要求

const cluster = require('cluster');
const numCPUs = require('os').cpus().length;

if (cluster.isMaster) {
    // Fork workers.
    for (var i = 0; i < numCPUs; i++) {
        cluster.fork();
    }

    cluster.on('exit', (worker, code, signal) => {
        console.log(`worker ${worker.process.pid} died`);
    });
} else {
    var express = require(NODE_PATH + 'express'),
        app = express();

    var addApiList = require("./api_routes/apiList");
    addApiList(app);

    app.listen(8085, function() {
        console.log('listening on port : ' + 8085);
    });

}

集群主服务器需要创建一个新的工作人员来代替死掉的工作人员,这个过程不是自动的。

cluster.on('exit', (worker, code, signal) => {
    console.log(`worker ${worker.process.pid} died`);
    cluster.fork();
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM