警告:我是新手程序員(更多是sysadmin)。我們得到了一個使用MongoDB的節點js應用程序。從我所知道的情況來看,mongo.js文件使用了mongojs和monq java類。它只安裝了一個MongoDB,我試圖設置一個新的HA環境來使用副本集。下面是他們提供了什麼:javascript中的節點js/MongoDB副本集數組
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;
現在的副本集,根據this article,我需要做如下改變:
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應用程序(永遠使用)?