Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js应用程序冗余_Node.js_Mongodb - Fatal编程技术网

Node.js应用程序冗余

Node.js应用程序冗余,node.js,mongodb,Node.js,Mongodb,我想记录一个公共聊天数据库,以便能够查找聊天历史记录在未来。 我熟悉node.js和mongoDB 我不想错过任何聊天信息的记录,因此我正在寻找一个冗余的解决方案,以防网络断开或服务器故障/重启 我所看到的关于故障切换和平衡的一切都是通过节点应用程序作为http服务器来实现的,因此可以通过反向代理将请求发送到不同的服务器来解决 但我不知道如何在不同的地区拥有2+VPS,运行一个节点应用程序来监控同一个公共聊天,并将这些聊天条目记录到DB中,而不在DB上设置竞态条件 节点实例之间的消息传递?但是看

我想记录一个公共聊天数据库,以便能够查找聊天历史记录在未来。 我熟悉node.js和mongoDB

我不想错过任何聊天信息的记录,因此我正在寻找一个冗余的解决方案,以防网络断开或服务器故障/重启

我所看到的关于故障切换和平衡的一切都是通过节点应用程序作为http服务器来实现的,因此可以通过反向代理将请求发送到不同的服务器来解决

但我不知道如何在不同的地区拥有2+VPS,运行一个节点应用程序来监控同一个公共聊天,并将这些聊天条目记录到DB中,而不在DB上设置竞态条件

节点实例之间的消息传递?但是看起来也会有比赛条件的


感谢您的帮助。

如果有问题要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源,则会导致堆栈溢出,因为这些问题往往会吸引固执己见的答案和垃圾邮件。由于故障转移的原因,对于两个地理位置不同的服务器,可能重复通常的方案是将客户端连接到一个服务器,然后在第一个服务器发生故障时将其故障转移到另一个服务器。如果您也要有重复的数据库服务器,那么您需要设置两个数据库服务器进行连续同步,以便在故障转移情况下,当一个数据库服务器接管另一个数据库服务器时,它拥有另一个数据库服务器的数据的当前副本。您通常不希望一个客户机与两个单独的服务器通信,这会给客户机带来负担,使两个服务器都保持最新。