在Node JS中创建两个或更多Mongos连接对象

时间:2016-10-05 10:04:42

标签: node.js mongodb

我们可以在nodejs应用程序中配置两个以上的mongos服务器ip。如果我们配置了3个Mongos Ip意味着将使用哪个ip,无论它是基于Round Robin还是任何关注,它是如何工作的。

主要帮助完全支持自动故障转移负载均衡

我们如何找到用于当前操作的mongos ip

1 个答案:

答案 0 :(得分:0)

复制是跨多个服务器同步数据的过程。复制提供冗余并通过不同数据库服务器上的多个数据副本提高数据可用性,复制可保护数据库免于丢失单个服务器。复制还允许您从硬件故障和服务中断中恢复。

MongoDB通过使用副本集实现复制。副本集是一组承载相同数据集的mongod实例。在副本中,一个节点是primary node,它接收所有写操作。所有其他实例secondaries都应用主要操作,以便它们具有相同的数据集。副本集只能有一个主节点。

副本集是一组包含两个或更多节点(通常最少需要3个节点)。 在副本集中,一个节点为primary node,其余节点为secondary。 所有数据都从主节点复制到次节点。 在自动故障转移或维护时,选择为主要节点建立,并且选择新的主节点。 恢复故障节点后,它再次加入副本集并作为辅助节点。

通过指定--replSet选项启动mongodb服务器。  --replSet的基本语法如下:

mongod --port "PORT" --dbpath "YOUR_DB_DATA_PATH" --replSet "REPLICA_SET_INSTANCE_NA
像这样

mongod --port 27017 --dbpath "D:\set up\mongodb\data" --replSet rs0

要将成员添加到副本集,请在多台计算机上启动mongod实例。现在启动mongo客户端并发出命令rs.add(HOST_NAME:PORT)

只有在连接到主节点时,才能将mongod实例添加到副本集。要检查您是否已连接到主服务器,请在mongo客户端中发出命令db.isMaster()。