警告:我是一名新手程序员(更多的是系统管理员)。我们获得了一个使用 MongoDB 的 Node.js 应用程序。据我所知,mongo.js 文件使用 mongojs 和 monq java 类。它只设置了一个 MongoDB,我正在尝试设置一个新的 HA 环境来使用副本集。这是他们提供的:
var mongojs = require('mongojs');
var monq = require('monq');
var dbName = 'exampledb';
var db = mongojs(dbName, ['collections']);
var client = monq('mongodb://127.0.0.1/exampledb', { w: 1 });
exports.db = db;
exports.ObjectId = mongojs.ObjectId;
exports.monqClient = client;
现在对于副本集,根据本文 https://github.com/mafintosh/mongojs,我需要进行以下更改:
var db = mongojs('replset0.com, replset1.com, replset2.com/mydb?slaveOK=true?', ['collections']);
我不完全确定之后我需要为这条线做什么。我猜我必须创建一个数组,其中包含副本集每个成员的主机名和端口号(设置为主要、次要、仲裁),例如:
var replSet = new replSet();
var replSet[0] = "server0:port0"
var replSet[1] = "server1.:port1"
var replSet[2] = "server2.:port2"
我将如何检测哪个节点是主节点?另外,如果主节点失败,我将不得不重新启动节点js应用程序(永远使用)?