1
0
Fork 0

DEVOPS-151: code changes to support mongodb HA (Replication)

master
Herbert Burzlaff 2019-05-02 16:44:45 -04:00
parent c36bc5a42f
commit 7ac88d6e55
No known key found for this signature in database
GPG Key ID: 3909FC9A8CFF4205
1 changed files with 31 additions and 10 deletions

View File

@ -25,6 +25,7 @@ const {
Db: MongoDb,
Server: MongoServer,
Connection: MongoConnection,
ReplSetServers: ReplSetServers,
} = require( 'mongodb/lib/mongodb' );
const regex_base = /^\/quote\/([a-z0-9-]+)\/?(?:\/(\d+)\/?(?:\/(.*))?|\/(program.js))?$/;
@ -118,16 +119,7 @@ exports.post_rate_publish = {};
exports.init = function( logger, enc_service, conf )
{
var db = new MongoDb(
'program',
new MongoServer(
process.env.MONGODB_HOST || '127.0.0.1',
+process.env.MONGODB_PORT || MongoConnection.DEFAULT_PORT,
{ auto_reconnect: true }
),
{ native_parser: false, safe: false }
);
var db = _createDB( logger );
const dao = MongoServerDao( db );
_createDocumentServer( dao, logger, enc_service, conf ).then( srv =>
@ -176,6 +168,35 @@ exports.init = function( logger, enc_service, conf )
} );
}
function _createDB( logger )
{
if(process.env.LIZA_MONGODB_HA==1)
{
var mongodbPort = process.env.MONGODB_PORT || MongoConnection.DEFAULT_PORT;
var mongodbReplSet = process.env.LIZA_MONGODB_REPLSET || 'rs0';
var dbServers = new ReplSetServers(
[
new MongoServer( process.env.LIZA_MONGODB_HOST_A, +process.env.LIZA_MONGODB_PORT_A || mongodbPort),
new MongoServer( process.env.LIZA_MONGODB_HOST_B, +process.env.LIZA_MONGODB_PORT_B || mongodbPort)
],
{rs_name: mongodbReplSet, auto_reconnect: true}
);
}
else
{
var dbServers = new MongoServer(
process.env.MONGODB_HOST || '127.0.0.1',
+process.env.MONGODB_PORT || MongoConnection.DEFAULT_PORT,
{auto_reconnect: true}
);
}
var db = new MongoDb(
'program',
dbServers,
{native_parser: false, safe: false, logger: logger}
);
return db;
}
function _createDocumentServer( dao, logger, enc_service, conf )
{