Replica sets is the asynchronous master/slave replication added to Mongodb that takes care off all the failover and recovery for the member nodes. According to the mongodb documentation a replicaset is
- Two or more nodes that are copies of each other
- Automatic assignment of a primary(master) node if none is available
- Drivers that automatically detect the new master and send writes to it
More information at Replicasets
To create a new replicaset follow the instructions on the mongodb site to setup the config and the replicaset instances. Then using the driver.
var replSet = new ReplSetServers( [
new Server( 127.0.0.1, 30000, { auto_reconnect: true } ),
new Server( 127.0.0.1, 30001, { auto_reconnect: true } ),
new Server( 127.0.0.1, 30002, { auto_reconnect: true } )
],
{rs_name:RS.name}
);
var db = new Db('integration_test_', replSet);
db.open(function(err, p_db) {
// Do you app stuff :)
})
The ReplSetSrvers object has the following parameters
var replSet = new ReplSetSrvers(servers, options)
Where
servers
is an array ofServer
objectsoptions
can contain the following options
Several options can be passed to the Replicaset
constructor with options
parameter.
rs_name
is the name of the replicaset you configured when you started the server, you can have multiple replicasets running on your servers.read_secondary
set's the driver to read from secondary servers (slaves) instead of only from the primary(master) server.socketOptions
- a collection of pr socket settings
Several options can be set for the socketOptions
.
timeout
= set seconds before connection times outdefault:0
noDelay
= Disables the Nagle algorithmdefault:true
keepAlive
= Set if keepAlive is useddefault:0
, which means no keepAlive, set higher than 0 for keepAliveencoding
= 'ascii'|'utf8'|'base64'default:null