首页 > 解决方案 > nodejs 应用程序如何知道在副本集中选出了一个新的主 mongodb?

问题描述

我读了一些关于 mongodb 复制的内容。我想用两个不同数据中心中的两台服务器设置 mongodb 复制,以便它为连接到它的 NodeJS 应用程序提供更高的可用性。假设我在美国新泽西州纽瓦克有一个主 mongodb 实例, IP111.111.111.111和加拿大安大略省多伦多的辅助 mongo db 实例 IP 222.222.222.222。据我了解,如果111.111.111.111遇到失败,222.222.222.222则将自己选为主。

我不明白的是我应该如何配置我的 NodeJS 应用程序的数据库连接以与任何 mongodb 实例进行通信。我不明白如果111.111.111.111222.222.222.222. 例如,考虑以下场景:

那么我的 NodeJS 应用程序如何知道切换到222.222.222.222. 我的 NodeJS 应用程序是否应该连接到负载均衡器,并且负载均衡器应该连接到副本集的每个 mongodb 实例?或者我的 NodeJS 应用程序是否需要有一系列故障转移 mongodb 连接并系统地尝试每个连接直到成功?或者我是否构建某种 Websocket/MQTT 代理服务器,将每个 mongodb 实例的健康状况传达给我的 nodejs 应用程序,以便我的 nodejs 应用程序在每次传输之前知道要连接到哪个实例?

当主节点失败时,如何让我的 NodeJS 应用程序成功地将数据传输到 mongodb?

标签: node.jsmongodbreplication

解决方案


推荐阅读