gpt4 book ai didi

node.js - Node 脚本 - 从一台服务器故障转移到另一台服务器

转载 作者:可可西里 更新时间:2023-11-01 02:32:08 25 4
gpt4 key购买 nike

我有一个 nodejs 脚本 - 让我们在 server1 上将其称为“process1”,并且在 server2 上运行相同的脚本 - “process2”(仅使用 flag=false)。

Process1 将执行 Action ,开始时处于“运行”状态。 process2 将运行但处于“阻塞”状态,并在其中编程了标志。

我想要完成的是,为此过程实现故障转移/回退。如果 process1 关闭,process2 上的标志将发生变化,process2 将接管 process1 的所有任务(反之亦然,当 process1 恢复时 - 回退)。

执行此操作的最佳方法是什么?那些之间的TCP连接?

enter image description here


注意:即使它没有太大关系,但我想提一下这些进程将在内部工作,与第三个服务器建立 tcp 连接并解析我们从该服务器获取的数据。这两个进程都将在两个服务器上运行,但当时只有 ONE 进程可以提供服务 - 以标志 true 运行(而不是两者都运行)


更新:根据下面的讨论以及解决方案的内部研究/测试和监控,使用反向代理将为您节省大量时间。仅基于 2 个服务器的编程故障转移将涵盖 70% 与两台机器上使用的内部进程相关的案例 - 但您将无法检测到其他 30% 的问题是由于服务器的问题引起的网络(特别是如果您有大量数据接收方的流量)。

最佳答案

这与其说是 Node 问题,不如说是基础设施问题,同样的情况几乎适用于任何服务器。

您基本上需要的是一些服务来监视Server 1 并确定它是“健康”还是“事件”,如果是,则继续将流量定向到它。如果该服务确定服务器不再处于稳定状态(例如响应时间过长、返回错误),它会将所有传入流量重定向到 Server 2。当 Server 1 恢复到正常运行状态时,它会将流量重定向回它。

在大多数情况下,这种情况下的“服务”是一个reverse proxy喜欢NginxCloudFlare .在您的情况下,此服务器将充当 Data Reciever 和您的网络(Server 1/Server 2)之间的缓冲区,并路由传入流量到相关服务器。

关于node.js - Node 脚本 - 从一台服务器故障转移到另一台服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31964795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com