javascript - Node : Communication between two servers (net)

标签 javascript node.js server

我需要有关使用“net”库在两台服务器之间进行通信的帮助。 我有两个服务器进程:一个主服务器和一个从服务器。目标是:当主服务器宕机时,从服务器启动并继续工作。

好吧,这是我的代码:

    // MASTER
    var server = net.createServer(function (conn) {
        conn.on("error", function() {
        });
    });
    server.listen(61337, "localhost", function () {});

    // SLAVE
    var socket = new net.Socket();
    socket.connect(61337, "localhost", function () {
    });
    socket.on('error', function (exc) {
        if((""+exc) == "Error: read ECONNRESET") {
            console.log("ALERT : MASTER is down !");
        }
    });

如何发送消息 MASTER -> SLAVE ?

谢谢。

最佳答案

您可以使用集群模块 ( https://nodejs.org/api/cluster.html ) 创建主从逻辑。

基本上你的第一个过程应该是主人, child (ren)可以是奴隶;然后 children 可以例如每分钟询问主人他的状态;如果这个没有回复,则意味着主进程已关闭,此时您可以执行任何您想要的逻辑。

可以使用worker.send(msg)process.send(msg)让他们分别监听message事件来处理有回应。

process|worker.on('message', function(msg) {
    // Code logic
});

关于javascript - Node : Communication between two servers (net),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30752679/

相关文章:

linux - 我已启用 keep-alive 但不起作用

node.js - 一个带有 Node js 的应用程序,每个客户端不同的数据库

javascript - typescript 中的 ... 语法是什么

javascript - 在模板化之前修改 html

javascript - 如何在 html Canvas 上绘制 Font Awesome 图标 [版本 <5]

node.js - npm 启动 Microsoft JScript 运行时错误 800A138F 预期对象

node.js - 无法解析 create-react-app 中的 'worker_threads'

curl - ElasticSearch错误-curl:(7)无法连接到localhost:9200;拒绝连接

web - Github 500错误页面无法加载

javascript - 如何在不同的浏览器中使用 DOM 内部的 activeElement.tagName ?