从nodejs连接mongodb replicaset,以使用replicaset作为故障转移

时间:2015-10-25 13:51:46

标签: node.js mongodb

我有以下架构,

             Node js server
                  |
             Load Balancer
                  |
    ______________________________
   |              |               |
Mongodb         mongodb        mongodb
replicaSet1     replicaSet2    replicaSet3 

我正在使用mongodb模块。由于我正在使用负载平衡,我在nodejs级别或负载均衡器级别需要哪些配置,因此如果任何mongodb实例发生故障,nodejs仍然可以获取数据。

如果没有使用loadbalancer,我可以将其删除。该方案仅用于容错“

1 个答案:

答案 0 :(得分:0)

最后我得到了答案。 不需要硬件负载平衡器,只需要稍微改变应用程序。

以下是我必须在连接网址中更改的内容。

var url="mongodb://"
    + "localhost:3000,"
    + "localhost:3001,"
    + "localhost:3003"
    + "/testDB?replicaSet=rs0&readPreference=secondaryPreferred";

列出以逗号分隔的网址中的所有mongodb实例,添加参数replicaSet=replisetNamereadPreference=secondaryPreferred (这是可选的,Not recommended

Here是参考。