Mongoose: рдХреЛрдИ рдкреНрд░рд╛рдердорд┐рдХ рд╕рд░реНрд╡рд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 1 рджрд┐рд╕ре░ 2015  ┬╖  76рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: Automattic/mongoose

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдореБрджреНрджрд╛ рд╣реИ рдЬреЛ рдбрд┐рдмрдЧ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдФрд░ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдореЗрд░реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдЧрд▓рдд рджреЗрдЦрддрд╛ рд╣реИред

Error no primary server available

Nodejs рд╕рдВрд╕реНрдХрд░рдг 4.2.1 рдФрд░ mongoDB рд╕рдВрд╕реНрдХрд░рдг 3.0.7 mongoose 4.2.8 ред

рдпрд╣ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рд╣реЛрдиреЗ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдХрдИ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдореИрдВ рдЕрдВрдд рдореЗрдВ рдиреЛрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдирд╣реАрдВ рдХрд░рддрд╛ред рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рджреМрд░рд╛рди рдХреНрд▓рд╕реНрдЯрд░ рд╣рд░ рд╕рдордп рд╕реНрд╡рд╕реНрде рд░рд╣рддрд╛ рд╣реИ ред рдпрд╣ рддреНрд░реБрдЯрд┐ рдкреНрд░рддрд┐ рдШрдВрдЯреЗ рд╕реИрдХрдбрд╝реЛрдВ рдмрд╛рд░ рд╣реЛрддреА рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐ рдХрдм рд╢реБрд░реВ рд╣реЛрдЧреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХреНрд▓рд╕реНрдЯрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рд╛рдердорд┐рдХ рдореЗрдВ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдпрд╣ db рдЖрдБрдХрдбрд╝реЗ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рд╡реГрджреНрдзрд┐ рд╣реЛрдЧреАред рдЕрдЧрд░ рдореИрдВ рдиреЛрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдорд╛рд░рддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рдирдпрд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред

screen shot 2015-11-30 at 5 21 01 pm

рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд░реЗрдВ

  // Connect
  mongoose.connect(config.mongo.connectionString, {
    server: {
      socketOptions: {
        socketTimeoutMS: 5 * 60 * 1000,
        keepAlive: 1
      }
    },
    replset: {
      socketOptions: {
        socketTimeoutMS: 5 * 60 * 1000,
        keepAlive: 1
      }
    }
  });

рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ

mongodb://username:[email protected]:27000,mongo-2.cz.0200.mongodbdns.com:27000,mongo-3.cz.0200.mongodbdns.com:27000/dbase

рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕

node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/replset.js:860pickServer    
node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/replset.js:437command   
node_modules/mongoose/node_modules/mongodb/lib/replset.js:392command    
node_modules/mongoose/node_modules/mongodb/lib/db.js:281executeCommand  
node_modules/mongoose/node_modules/mongodb/lib/db.js:305command 
node_modules/newrelic/lib/instrumentation/mongodb.js:177wrapped 
node_modules/mongoose/node_modules/mongodb/lib/collection.js:2327findAndModify  
node_modules/mongoose/node_modules/mongodb/lib/collection.js:2265findAndModify  
node_modules/newrelic/lib/instrumentation/mongodb.js:177wrapped [as findAndModify]  
node_modules/mongoose/lib/drivers/node-mongodb-native/collection.js:136(anonymous function) [as findAndModify]  
node_modules/mongoose/node_modules/mquery/lib/collection/node.js:79findAndModify    
node_modules/mongoose/lib/query.js:1833_findAndModify   
node_modules/mongoose/lib/query.js:1621_findOneAndUpdate    
node_modules/mongoose/node_modules/kareem/index.js:156none  
node_modules/mongoose/node_modules/kareem/index.js:18none
can't reproduce help wanted

рд╕рднреА 76 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдлрд┐рд▓рд╣рд╛рд▓ рдХреБрдЫ рднреА рд▓реАрдХ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдХреЛ рдпрдХреАрди рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рдореЛрдВрдЧреЛрдбрдм рд╕рд░реНрд╡рд░ рдХреНрд░реИрд╢ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ? рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреНрдпрд╛ рдЖрдк рд╢реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕реНрдерд┐рд░ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдП рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ?

рдХрдорд╛рдВрдб db.runCommand( { replSetGetStatus : 1 } ) рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдЬрдмрдХрд┐ рддреНрд░реБрдЯрд┐ рд╣реЛ рд░рд╣реА рдереА рд╕рднреА 3 рдиреЛрдбреНрд╕ рдкрд░ "health" : 1, рдЙрддреНрдкрд╛рджрди рд╣реЛрддрд╛ рд╣реИред рдиреЛрдбреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдПрдХ рдкреНрд░рд╛рдердорд┐рдХ рд╕реЗрдЯ "stateStr" : "PRIMARY", рднреА рд╣реИред

рдХреНрдпрд╛ рдЖрдк DNS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрд╕реА рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдХрдиреЗрдХреНрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рдж рднреА рдЖрдкрдХрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдлреНрд▓реИрдЯ-рд▓рд╛рдЗрдиреЗрдб рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреА рдХрд┐рд╕реА рдорд╢реАрди рдкрд░ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рд╕реНрдкреЗрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдХрд░ рдЪреЗрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдХреНрдпрд╛ рдЖрдк DNS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрд╕реА рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдХрдиреЗрдХреНрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдореИрдВ рдПрдХ рд╣реА рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдЬреА EC2 IP рдкрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдпрд╣ рд╣рд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛?

рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕реНрдЯреЛрд░реЗрдЬ рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЕрдзрд┐рдХрддрдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирдП рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдХреЛрдИ рдкреНрд░рд╛рдердорд┐рдХ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕реНрдерд╛рди рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред

EC2 IP рдкрддреЗ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗрдЯ рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рд╢реЗрд▓ рд╕реЗ rs.status() рдХрд╛

рдпрд╣ рд░реЗрд╕реНрдЯрд╕реНрдЯреЗрдЯрд╕ () рд╣реИ, рдЬрдмрдХрд┐ рдХрдиреЗрдХреНрд╢рди рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВред

{
    "set" : "mongo2",
    "date" : ISODate("2015-12-04T23:39:32.520Z"),
    "myState" : 1,
    "members" : [
        {
            "_id" : 6,
            "name" : "mongo-8.loc.0600.mongodbdns.com:27000",
            "health" : 1,
            "state" : 2,
            "stateStr" : "SECONDARY",
            "uptime" : 444053,
            "optime" : Timestamp(1449272372, 32),
            "optimeDate" : ISODate("2015-12-04T23:39:32Z"),
            "lastHeartbeat" : ISODate("2015-12-04T23:39:32.507Z"),
            "lastHeartbeatRecv" : ISODate("2015-12-04T23:39:31.442Z"),
            "pingMs" : 0,
            "syncingTo" : "mongo-9.loc.0600.mongodbdns.com:27000",
            "configVersion" : 29
        },
        {
            "_id" : 7,
            "name" : "mongo-9.loc.0600.mongodbdns.com:27000",
            "health" : 1,
            "state" : 1,
            "stateStr" : "PRIMARY",
            "uptime" : 444056,
            "optime" : Timestamp(1449272372, 39),
            "optimeDate" : ISODate("2015-12-04T23:39:32Z"),
            "electionTime" : Timestamp(1449097485, 1),
            "electionDate" : ISODate("2015-12-02T23:04:45Z"),
            "configVersion" : 29,
            "self" : true
        },
        {
            "_id" : 8,
            "name" : "mongo-10.loc.0600.mongodbdns.com:27000",
            "health" : 1,
            "state" : 2,
            "stateStr" : "SECONDARY",
            "uptime" : 444053,
            "optime" : Timestamp(1449272371, 111),
            "optimeDate" : ISODate("2015-12-04T23:39:31Z"),
            "lastHeartbeat" : ISODate("2015-12-04T23:39:31.904Z"),
            "lastHeartbeatRecv" : ISODate("2015-12-04T23:39:30.903Z"),
            "pingMs" : 2,
            "syncingTo" : "mongo-8.loc.0600.mongodbdns.com:27000",
            "configVersion" : 29
        }
    ],
    "ok" : 1
}

рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗрдЯ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд╕реЗ рдмрд╛рд╣рд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдиреНрдп рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдХреЛрдб рдирдореВрдиреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдРрд╕рд╛ рдХреЛрдб рд╣реИ рдЬреЛ рдХрдиреЗрдХреНрд╢рди рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗ рд░рд╣рд╛ рд╣реИ?

рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рдПрдХ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдореБрджреНрджрд╛, рдХреНрдпрд╛ рдЖрдк рдЕрдк-рдЯреВ-рдбреЗрдЯ рдирдП рдЕрд╡рд╢реЗрд╖ рдПрдЬреЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдореИрдВ рдирдП рдЕрд╡рд╢реЗрд╖ рдХреЗ рдмрд┐рдирд╛ рджреМрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдФрд░ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рднреА рд╣реЛрддрд╛ рд╣реИ, рдирдП рдЕрд╡рд╢реЗрд╖ рдмрдВрджрд░-рдореЛрдВрдЧреЛрдбрдм рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдкреИрдЪ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдХрднреА-рдХрднреА рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛ рд╕рдХреЗред

рд╣рдо рдорд╛рдирдЧреЛ рдХрдиреЗрдХреНрд╢рди рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ:

['connecting', 'connected', 'open', 'disconnecting', 'disconnected', 'close', 'reconnected', 'error', 'fullsetup'].forEach(function(name) {
  mongoose.connection.on(name, function() {
    notifySlack('Mongoose event: ' + name);
  });
});

рдпрд╣ рдХреБрдЫ рд▓реЙрдЧ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ

тАЛ[4:30] Mongoose event: fullsetup
тАЛ[4:30] Mongoose event: reconnected
тАЛ[4:30] Mongoose event: open
тАЛ[4:30] Mongoose event: connected
тАЛ[4:30] Mongoose event: reconnected
тАЛ[4:30] Mongoose event: reconnected
тАЛ[4:30] Mongoose event: reconnected
тАЛ[4:30] Mongoose event: reconnected
тАЛ[4:30] Mongoose event: reconnected
тАЛ[4:30] Mongoose event: reconnected
тАЛ[4:30] Mongoose event: fullsetup
тАЛ[4:30] Mongoose event: connected
тАЛ[4:30] Mongoose event: open
тАЛ[4:30] 
{
 "err": {
   "name": "MongoError",
   "message": "no primary server available"
 }
}

рдореИрдВ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдореЛрдВрдбреЛрдбрдм рдИрд╡реЗрдВрдЯ рдореЗрдВ рдерд╛, рдЬрд╣рд╛рдВ рдореИрдВ рдХреБрдЫ рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдореЛрдВрдЧреЛрдбреАрдмреА рдореЗрдВ рдПрдХ рд╡рд░рд┐рд╖реНрда рдЕрднрд┐рдпрдВрддрд╛ рдХреЛ рджрд┐рдЦрд╛ рд╕рдХрддрд╛ рдерд╛, рдФрд░ рд╡реЗ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рдереЗ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдХреНрдпрд╛ рдерд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рдЕрдзрд┐рдХрддрдо рдкреВрд▓ рдЖрдХрд╛рд░ рдХреЛ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдиреЗ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред

рд╣рдордиреЗ рдЬреАрд╡рд┐рдд рд░рдЦрдиреЗ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рдФрд░ рдЗрд╕реЗ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдореВрд▓реНрдп рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдерд╛ред

рд╣рдо, newrelic рд╕рдВрд╕реНрдХрд░рдг 1.24.0 , рдФрд░ mongo-express-patch рд╕рдВрд╕реНрдХрд░рдг 0.21.1 ред рдореИрдВ newrelic рдХреЗ рдмрд┐рдирд╛ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред

рд╣рдореНрдо рд╣рд╛рдБ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорд╛рдирд╕реВрди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдлрд┐рд░ рд╕реЗ рдЬреБрдбрд╝ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ npm list | grep "mongoose" рдФрд░ npm list | grep "mongo" рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ?

$ npm list | grep "mongoose"
тФЬтФАтФм [email protected]
$ npm list | grep "mongo"
тФЬтФАтФм [email protected]
тФВ тФЬтФАтФм [email protected]
тФВ тФВ тФЬтФАтФм [email protected]
тФЬтФАтФм [email protected]
тФЬтФАтФм [email protected]
тФВ тФЬтФАтФм [email protected]
тФВ тФВ тФЬтФАтФА [email protected]

рдХреНрдпрд╛ рдЖрдк mongodb-core рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреНрдпрд╛ рдЖрдк mongo-express рд╕рд╛рде рдЙрддреНрдкрд╛рджреЛрдВ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ?

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП mongodb-core рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорд╛рдирд╕реВрди рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмреАрдЪ рд╕рдВрд╕реНрдХрд░рдг рдмреЗрдореЗрд▓ рдореБрджреНрджреЛрдВ рдХрд╛ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрддреНрдкрд╛рджрди рдореЗрдВ mongo-express рд╕рдХреНрд╖рдо рд╣реИрдВред

рдореЗрд░реА рдЬрд╛рдирдХрд╛рд░реА рдореЗрдВ рдирд╣реАрдВред рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдордВрдЧреЛрдбрдм рдХреЗ рдЕрдиреНрдп рдХрдиреЗрдХреНрд╢рди рд╣реИрдВ рдЬреЛ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдпреЛрдЧрджрд╛рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдереЛрдбрд╝рд╛ рд╕рд╛ googling рдХрд┐рдпрд╛ рд╣реИ - рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди DNS рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ rs.status() рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ? рдЗрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ , рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди DNS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЗрд╕реА рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЬрдм rs.status() рдореЗрдВ "syncingTo" рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╕рдорд╛рди DNS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреАред рдпрд╣ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдЖрдВрддрд░рд┐рдХ ec2 IP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рднреА рд╣реЛрддрд╛ рд╣реИред

рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ рд╡рд╣ рд╕рд┐рд░реНрдл connectWithNoPrimary рд╕реЗ true ред

рдореИрдВ mongo-express рд╕рд╛рде рднреА рдЪрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ред рдпрд╣ рдореБрджреНрджреЛрдВ рдХрд╛ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ...

рд╣рдо рдПрдХ рд╣реА рдореБрджреНрджреЗ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд╛рдЗрдЯ рд╣реИ рдЬреЛ 500-700 рдЖрд░рдкреАрдПрдо + рдореЗрдВ рдЪреЛрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд▓рдЧрднрдЧ 100 рдЖрд░рдкреАрдПрдо рдХреЗ рдирд┐рд░рдВрддрд░ рд▓реЛрдб рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣реА рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрд╛рдлреА рдЕрд╡рдзрд┐ рдХреЗ рджреМрд░рд╛рди рднреА рджреЗрдЦрддреЗ рд╣реИрдВред

рд╡рд╛рддрд╛рд╡рд░рдг:
рд╣рд░реЛрдХреВ - 75 2x рдбрд╛рдпрдиреЛрд╕ - рдиреЛрдб.рдЬреЗрдПрд╕ 5.1.1
рдбреЗрдЯрд╛рдмреЗрд╕ - MongoLabs рд╕рдорд░реНрдкрд┐рдд рдХреНрд▓рд╕реНрдЯрд░ M4 - рд╕рдВрд╕реНрдХрд░рдг 3.0.7

рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ:
mongodb: // _: * _ @ ds043294-a0.mongolab com: 43294 , ds043294-a1.mongolab com: 43294 / heroku_hf8q79dt; рдкреНрд░рддрд┐рдХреГрддрд┐_рд╕реЗрдЯ = rs-ds043294

рдПрдирдкреАрдПрдо:

npm list | grep "mongoose"
тФЬтФАтФм [email protected]
тФЬтФАтФА [email protected]
тФЬтФАтФА [email protected]
тФЬтФАтФм [email protected]

рдХрдиреЗрдХреНрд╢рди редjs

// Mongoose import
var mongoose = require('mongoose');
var options = {
    server: {
        socketOptions: {
            keepAlive: 1,
            poolSize: 10,
            connectTimeoutMS: 30000,
            socketTimeoutMS: 30000
        }
    },
    replset: {
        socketOptions: {
            keepAlive: 1,
            poolSize: 10,
            connectTimeoutMS: 30000,
            socketTimeoutMS: 30000
        }
    }
};

mongoose.connect((process.env.MONGOLAB_URI || "mongodb://localhost/test"), options, function(error) {
    if (error) {
        console.log(error);
    }
});

module.exports = {
    mongoose: mongoose
};

рд▓реЙрдЧрд┐рдВрдЧ:
рд╣рдордиреЗ рдЗрд╕реЗ рдореЙрдирд┐рдЯрд░ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдорд╛рддреНрд░рд╛ рдореЗрдВ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╣рдорд╛рд░реЗ рд░реЗрдЧрди рд╕реНрдЯреИрдХ рдХреЗ рдирд┐рд╢рд╛рди рдХреЛ рднреА рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рддрд╛рдХрд┐ рдпрд╣ рд░рдЧрдбрд╝рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗред _Note: _ рдпрд╣ рдареАрдХ рд╡рд╣реА рд▓рд╛рдЗрди рдирдВрдмрд░ рд╣реИ рдЬреЛ @ChrisZieba рдКрдкрд░ рдХреЗ рдЯреНрд░реЗрд╕ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕рдВрджреЗрд╢: рдХреЛрдИ рдкреНрд░рд╛рдердорд┐рдХ рд╕рд░реНрд╡рд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ
Object.pickServer in /app/node_modules/mongodb-core/lib/topologies/replset.js:860
ReplSet.ReplSet.command in /app/node_modules/mongodb-core/lib/topologies/replset.js:437
ReplSet.ReplSet.command in /app/node_modules/mongodb/lib/replset.js:392
рдСрдмреНрдЬреЗрдХреНрдЯ.executeCommand in /app/node_modules/mongodb/lib/db.js:281
Db.Db.command in /app/node_modules/mongodb/lib/db.bsp255
Object.wipped in /app/node_modules/newrelic/lib/instrumentation/mongodb.js:185
Object.findAndModify in /app/node_modules/mongodb/lib/collection.js:2327
Collection.Collection.findAndModify in /app/node_modules/mongodb/lib/collection.js:2265
Object.wipped in /app/node_modules/newrelic/lib/transaction/tracer/index.js:155
рдСрдмреНрдЬреЗрдХреНрдЯ.wrappedQuery in /app/node_modules/newrelic/lib/instrumentation/mongodb.js:218
Object.wrapped [as findAndModify] (/app/node_modules/newrelic/lib/instrumentation/mongodb.js:188
рдореВрд▓ рдирд┐рд╡рд╛рд╕реА
NodeCollection.NodeCollection.findAndModify in /app/node_modules/mquery/lib/collection/node.js:79
Query.Query._findAndModify in /app/node_modules/mongoose/lib/query.js:1833
Query.Query._findOneAndUpdate in /app/node_modules/mongoose/lib/query.js:1621
рдЕрдЬреНрдЮрд╛рддред [рдЧреБрдордирд╛рдо] in /app/node_modules/kareem/index.js:156
рдЕрдЬреНрдЮрд╛рддред [рдЕрдирд╛рдо] in /app/node_modules/kareem/index.js:18
Object.wipped in /app/node_modules/newrelic/lib/transaction/tracer/index.js:155
Object.doNTCallback0 in рдиреЛрдбред Js: 430
process.process._tickCallback in node.js: 359

рдирд┐рдЧрд░рд╛рдиреА:
2015-12-09_22-22-51

рдпрд╣ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╡рд▓ рдореБрдЭреЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ 1) рдЖрдк рдирдП рдЕрд╡рд╢реЗрд╖ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдЬреЛ рдмрд╣реБрдд рд╣реА рд╕рдВрджрд┐рдЧреНрдз рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдирдП рдЕрд╡рд╢реЗрд╖ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдмрдВрджрд░-рдкреИрдВрдХрд┐рдЧ рдХрд░рддреЗ рд╣реИрдВ), рдФрд░ 2) рдореЛрдВрдЧреЛрдбрдм рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдкреНрд░рд╛рдердорд┐рдХ рдирд╣реАрдВ рд╣реИ рдЙрдкрд▓рдмреНрдз рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпреЛрдВред

рдЕрдкрдиреЗ рдХрдиреЗрдХреНрд╢рди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ replset: { loggerLevel: 'debug' } рдЬреЛрдбрд╝рдХрд░ рдореЗрдирдЧреЛрдб рдбреНрд░рд╛рдЗрд╡рд░ рдбрд┐рдмрдЧ рдореЛрдб рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдЬреЛ рд╣реИ:

var options = {
    server: {
        socketOptions: {
            keepAlive: 1,
            poolSize: 10,
            connectTimeoutMS: 30000,
            socketTimeoutMS: 30000
        }
    },
    replset: {
        loggerLevel: 'debug',
        socketOptions: {
            keepAlive: 1,
            poolSize: 10,
            connectTimeoutMS: 30000,
            socketTimeoutMS: 30000
        }
    }
};

рдпрд╣ рд╕реНрдЯрдбрдЖрдЙрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдбреНрд░рд╛рдЗрд╡рд░ рдбрд┐рдмрдЧ рдбреЗрдЯрд╛ рдХреЛ рд▓реЙрдЧ рдХрд░реЗрдЧрд╛ рдФрд░ рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реЛ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рддрдм рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдпрд╣ "рдХреЛрдИ рдкреНрд░рд╛рдердорд┐рдХ рд╕рд░реНрд╡рд░ рдирд╣реАрдВ рдорд┐рд▓рд╛" рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ?

рдзрдиреНрдпрд╡рд╛рдж @ vkarpov15 ,

рд╣рдордиреЗ рдЗрд╕реЗ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдЬреИрд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдФрд░ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрдЧрд╛ рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВрдЧреЗред

рдЪреАрдпрд░реНрд╕,
рд░реЙрдп

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ newrelic рдпрд╣рд╛рдБ рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╣рдордиреЗ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдЪрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рдореБрджреНрджрд╛ рдХрд╛рдпрдо рд╣реИред loggerLevel: 'debug' рд╕реЗ рдХреБрдЫ рд▓реЙрдЧ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВрдЧреЗред

рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рдЕрдиреНрдп рдбреЗрдЯрд╛ рдмрд┐рдВрджреБ: рдХрдиреЗрдХреНрд╢рди рдХреА рдЧрд┐рдирддреА рдмрдврд╝рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдорд╛рдирдЧреЛ "рдкреБрди: рдХрдиреЗрдХреНрдЯреЗрдб" рдЗрд╡реЗрдВрдЯ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИред

"рдХреЛрдИ рдкреНрд░рд╛рдердорд┐рдХ рд╕рд░реНрд╡рд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ" рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЖрдорддреМрд░ рдкрд░ _after_ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддреА рд╣реИрдВред рдХрдиреЗрдХреНрд╢рди рдХреА рдЧрд┐рдирддреА рдкрд╣рд▓реЗ рд╣реА рд╢реБрд░реВ рд╣реЛ рдЧрдИ рд╣реИред

рд╣рдордиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ рд╣реИред MongoLab рдХреЗ рд╕рд╛рде рд╣рд░рдХреВ рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдХ рдиреЛрдб рдРрдк рд╣реИред
рдкрд┐рдЫрд▓реЗ рд╣рдлреНрддреЗ рд╣рдордиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЕрдЪрд╛рдирдХ рд╕рдВрдмрдВрдз рдЦреЛ рджрд┐рдпрд╛ рдФрд░ Error no primary server available рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд░рд╣реЗред рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред
рд╣реЗрд░реЛрдХреВ рдФрд░ рдореЛрдиреЛрдЧреНрд▓рд╛рдм рджреЛрдиреЛрдВ рдиреЗ рдЕрдкрдиреЗ рд▓реЙрдЧ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рджреЗрдЦрд╛ред
рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ред

рдЯрдХреНрдХрд░ - рд╣рдо рдЗрд╕реЗ рдмрдбрд╝реЗ рдЙрддреНрдкрд╛рджрди рдкрд░ mongoose v4.1.5 node v4.2.3 mongoose v4.1.5 node v4.2.3 mongoose v4.1.5 рдкрд░ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдорд┐рдЯрд╛ рджреЗрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ:

  • рд▓рдЧрд╛рддрд╛рд░ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ (рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ / рдиреЛрдб рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдирд╛)
  • рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорд╛рдирд╕реВрди рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдЕрд╕рдВрдмрдВрдзрд┐рдд рд╣реИ

@sansmischevia рдХреНрдпрд╛ рдЖрдк рдореЛрдВрдЧреЛрд▓реИрдм + рд╣реЗрд░реЛрдХреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

^ рд╣рдо рдХреНрд▓рд╛рдЙрдб рдкреНрд░рдмрдВрдзрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрд╡-рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдореЛрдВрдЧреЛрдбрдм рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде AWS EC2 рдкрд░ рдПрдХ рдмрдбрд╝реЗ рдЙрддреНрдкрд╛рджрди рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдирдорд╕реНрдХрд╛рд░,

рд╣рдо рднреА рдЗрд╕рдореЗрдВ рдЭрдВрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред
рд╣рдо node v0.12.8 , mongo v2.6.11 mongoose v4.1.11 рд╕рд╛рде рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред

$ npm list | grep "mongo"
тФЬтФАтФм [email protected]
тФВ тФФтФАтФм [email protected]
тФВ   тФЬтФАтФм [email protected]
тФЬтФАтФм [email protected] 
тФВ тФЬтФАтФм [email protected]
тФВ тФВ тФЬтФАтФм [email protected]
тФФтФАтФм [email protected]
  тФФтФАтФм [email protected]
    тФЬтФАтФм [email protected]
$ npm list | grep "mongoose"
тФЬтФАтФм [email protected]

рдпрд╣ рдЕрдХреНрд╕рд░ рдПрдХ рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдмреАрдЬ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд░рд╢реНрди рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред рдРрд╕рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣рдорд╛рд░рд╛ рдЖрд╡реЗрджрди рдЕрдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореЛрдВрдЧреЛ рд▓реЙрдЧ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕ рджреМрд░рд╛рди рд╣рдорд╛рд░рд╛ рддреАрди рдиреЛрдб рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗрдЯ рд╕реНрд╡рд╕реНрде рд╣реИред

рд╣рдо loggerLevel: 'debug' рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ рдФрд░ рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВрдЧреЗред

@ vkarpov15 рд╣рдо рд╕реАрдзреЗ рдордВрдЧреЛрд▓ + рдкреНрд░рддрд┐рдХреГрддрд┐ рдкрд░ рд╣реИрдВ

рдореИрдВ рдордВрдЧреЛрд▓реЛрд▓ рдкрд░ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рд╣рдо рднреА MongoLab рдФрд░ Modulus рдкрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

https://jira.mongodb.org/browse/NODE-622 рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ рдФрд░ рдЕрдЧрд░ рдХреЛрдИ рднреА рд▓реЙрдЧ рдХрд╛ рдкреВрд░рд╛ рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдмреЗрд╣рдж рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛ рддреЛ рд╣рдо рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣рд╛рдБ рдореЗрдВ рдЭрдВрдХрд╛рд░, рд╣рдо рдЖрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреЗрд╢реА MongoDB рдЧреНрд░рд╛рд╣рдХред рдпрд╣рд╛рдБ no primary server available рддреНрд░реБрдЯрд┐ рд╣реЛ рд░рд╣реА рд╣реИред рд╣рдо рдПрдХ рдирд┐рдЬреА VPC рдХреЗ рдЕрдВрджрд░ EC2 рдЙрджрд╛рд╣рд░рдг рдкрд░ рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗрдЯ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ, рд╣рдорд╛рд░рд╛ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЗ рдирд┐рдЬреА IP рдкрддреЗ рд╣реИрдВред MongoDB v3.0.3 ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдПрдХ рдЙрдЪреНрдЪ рдкреНрд░рд╡рд╛рд╣ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

            serverOpts = {
                server: {
                    sslValidate: false,
                    sslCA: ca,
                    socketOptions: {
                        connectTimeoutMS: 30000,
                        socketTimeoutMS: 180000
                    }
                },
                replSet: {
                    connectWithNoPrimary: false,
                    sslValidate: false,
                    sslCA: ca,
                    socketOptions: {
                        connectTimeoutMS: 30000,
                        socketTimeoutMS: 180000
                    }
                }
            };

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдЧрд╛рдореА рдбреНрд░рд╛рдЗрд╡рд░ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд┐рдХреНрд╕ рд╣реИ: NODE-622

рдпрд╣ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬрд▓реНрджреА рдирд╣реАрдВ рд╣реИ! :)

рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдкрд╣рд▓реЗ рд╣реА NPM https://www.npmjs.com/package/mongodb рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛ рдЪреБрдХрд╛ рд╣реИ

рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдореЗрдВ рдЕрдм рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓реА рд╣реИред : рдЯрд╛рдбрд╛:

рдкреАрдЖрд░ рдХреЗ рд▓рд┐рдП mongodb 2.1.2 рдпрд╣рд╛рдБ: https://github.com/Automattic/mongoose/pull/3712

рдЕрднреА рднреА рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ 4.3.4 рд▓рд┐рдП рдорд╛рдирдЧреЛ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рджреЗрдЦ рд░рд╣рд╛ рд╣реИ, рдЬреЛ mongo core 2.1.2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред https://jira.mongodb.org/browse/NODE-622 рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

+1 рдореИрдВрдиреЗ рдЕрднреА рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдбрдХреНрд╢рди рд╕рд░реНрд╡рд░ рдкрд░ рднреА рдпрд╣ рджреЗрдЦрд╛ред рдореИрдВ рдХреНрдпреЛрдВ рдХрд╛ рдХреЛрдИ рднреА рдкреИрдЯрд░реНрди рдирд╣реАрдВ рджреЗрдЦрддрд╛ред рдиреЛрдб рдХреЗ рд╕рд╛рде 4.2.4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдореЛрдВрдЧреЛрдЬрд╝ 4.3.4 рдФрд░ рдореЛрдВрдЧреЛрдбрдм 3.0.8 рдХреЗ рд╕рд╛рдеред рдореИрдВ рдЕрдкрдиреЗ рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдореЛрдВрдЧреЛрдбрдм рдХреА рдПрдордПрдордПрд╕ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рдЙрд╕ рд╕рдордп рдХреЛрдИ рдЕрд▓рд░реНрдЯ рдирд╣реАрдВ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдореБрдЭреЗ рдорд┐рд▓рддрд╛ рд╣реИ: MongoError: рдХреЛрдИ рдкреНрд░рд╛рдердорд┐рдХ рд╕рд░реНрд╡рд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ

@ amit777 рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рд╡рд┐рдХрд▓реНрдк рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреНрдпрд╛ рдпрд╣ рдЕрд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рднрд╛рд░реА рдХрд╛рд░реНрдпрднрд╛рд░ рдХреЗ рджреМрд░рд╛рди рд╣реБрдЖ рдерд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдмрд╣реБрдд рдХреБрдЫ рд▓рд┐рдЦрддрд╛ рд╣реИ?

рдХреНрд░рд┐рд╕, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд▓реЗрдЦрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рджреМрд░рд╛рди рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рд╣рдорд╛рд░рд╛ рднрд╛рд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рднрд╛рд░реА рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХреБрдЫ рдиреЛрдбреНрд╕ рд╣реИрдВ рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдореЛрдВрдЧреЛ рдХреЛ рд▓рд┐рдЦреЗрдЧрд╛ред

рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХреИрд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВ:


var mongoose = require('mongoose');
var mongodb = {};

var connect = function () {
mongodb.db = "mongodb://node1:27017,node2:27017,node3:27017/myapp";
mongodb.dbOptions = {
      "db": {"native_parser": true},
      "replSet": {
        "rs_name": "mongocluster",
        "socketOptions": { "keepAlive": 1, "connectTimeoutMS": 30000, "socketTimeoutMS": 60000 }
        }
    };
  mongoose.connect(config.get('mongodb.db'), config.get('mongodb.dbOptions'));
};
connect();

рдореИрдВрдиреЗ рдпрд╣ рднреА рджреЗрдЦрд╛ рдХрд┐ рдореЗрд░реЗ рдореЛрдВрдЧреЙрдб рд▓реЙрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдФрд░ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рддреЗрдЬреА рд╕реЗ рднрд░ рд░рд╣реЗ рд╣реИрдВ:

2016-01-13T13:32:15.418-0500 I NETWORK  [conn91700536] end connection 192.168.1.50:33189 (5558 connections now open)
2016-01-13T13:32:15.418-0500 I NETWORK  [conn91700534] end connection 192.168.1.50:33187 (5558 connections now open)
2016-01-13T13:32:15.418-0500 I NETWORK  [conn91700540] end connection 192.168.1.50:33193 (5557 connections now open)
2016-01-13T13:32:15.418-0500 I NETWORK  [conn91700538] end connection 192.168.1.50:33191 (5558 connections now open)
2016-01-13T13:32:15.418-0500 I NETWORK  [conn91700542] end connection 192.168.1.50:33195 (5557 connections now open)
2016-01-13T13:32:15.418-0500 I NETWORK  [conn91700532] end connection 192.168.1.50:33185 (5556 connections now open)
2016-01-13T13:32:15.419-0500 I NETWORK  [conn91700533] end connection 192.168.1.50:33186 (5552 connections now open)
2016-01-13T13:32:15.419-0500 I NETWORK  [conn91700535] end connection 192.168.1.50:33188 (5552 connections now open)
2016-01-13T13:32:15.419-0500 I NETWORK  [conn91700537] end connection 192.168.1.50:33190 (5552 connections now open)
2016-01-13T13:32:15.419-0500 I NETWORK  [conn91700541] end connection 192.168.1.50:33194 (5551 connections now open)
2016-01-13T13:32:15.419-0500 I NETWORK  [conn91700543] end connection 192.168.1.50:33196 (5551 connections now open)
2016-01-13T13:32:15.419-0500 I NETWORK  [conn91700539] end connection 192.168.1.50:33192 (5552 connections now open)
2016-01-13T13:32:15.548-0500 I NETWORK  [initandlisten] connection accepted from 192.168.1.50:36754 #91705950 (5548 connections now open)
2016-01-13T13:32:15.549-0500 I NETWORK  [initandlisten] connection accepted from 192.168.1.50:36755 #91705951 (5549 connections now open)
2016-01-13T13:32:15.550-0500 I NETWORK  [initandlisten] connection accepted from 192.168.1.50:36756 #91705952 (5550 connections now open)
2016-01-13T13:32:15.550-0500 I NETWORK  [initandlisten] connection accepted from 192.168.1.50:36757 #91705953 (5551 connections now open)
2016-01-13T13:32:15.550-0500 I NETWORK  [initandlisten] connection accepted from 192.168.1.50:36758 #91705954 (5552 connections now open)
2016-01-13T13:32:15.551-0500 I NETWORK  [initandlisten] connection accepted from 192.168.1.50:36760 #91705955 (5553 connections now open)
2016-01-13T13:32:15.551-0500 I NETWORK  [initandlisten] connection accepted from 192.168.1.50:36759 #91705956 (5554 connections now open)
2016-01-13T13:32:15.551-0500 I NETWORK  [initandlisten] connection accepted from 192.168.1.50:36762 #91705957 (5555 connections now open)
2016-01-13T13:32:15.551-0500 I NETWORK  [initandlisten] connection accepted from 192.168.1.50:36761 #91705958 (5556 connections now open)
2016-01-13T13:32:15.553-0500 I NETWORK  [initandlisten] connection accepted from 192.168.1.50:36763 #91705959 (5557 connections now open)
2016-01-13T13:32:15.553-0500 I NETWORK  [initandlisten] connection accepted from 192.168.1.50:36764 #91705960 (5558 connections now open)
2016-01-13T13:32:15.554-0500 I NETWORK  [initandlisten] connection accepted from 192.168.1.50:36765 #91705961 (5559 connections now open)

рдпрд╣рд╛рдБ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рд╣реИ рдЬреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИ .. рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рдкреВрд▓рд┐рдВрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рдмрдЧ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдкрдиреА рдиреЛрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ mongod.log рдореЗрдВ рдирдП рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдлрд┐рд░ рд▓рдЧрднрдЧ рдПрдХ рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ mongod.log рдореЗрдВ рдЕрдВрдд-рдХрдиреЗрдХреНрд╢рди рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрдЯ / рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╕рдордп рдХреЗ рд╕рд╛рде рддреЗрдЬ рдФрд░ рддреЗрдЬ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЕрднреА рднреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ)ред

рдЗрд╕ рдХреЗ рдХрд╛рд░рдг рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реИред

рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдореЗрдВ рдореЗрдЬрдмрд╛рди рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЪрд╛рд▓рдХ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрдм рдбреНрд░рд╛рдЗрд╡рд░ рдХрдиреЗрдХреНрдЯ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдпрд╣ рд╕рднреА рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╣рд┐рдд рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдЙрди рдкрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рд╡реЗ рдЪрд╛рд▓рдХ рджреНрд╡рд╛рд░рд╛ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЖрдкрдХреЛ рдЖрдИрдкреА рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рднреА рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЗрд╕ рддрд░рд╣ рдХреА рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕реНрд░реЛрдд рд╣реИрдВ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпреЛрдЧреНрдп рд╣реЛрд╕реНрдЯ рдирд╛рдо (рдХреЛрдИ рдЫреЛрдЯрд╛ рдирд╛рдо рдирд╣реАрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

@christkv рдпрджрд┐ OS рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ (рдпрд╛рдиреА, рдкрд┐рдВрдЧ рдХрд░рдХреЗ), рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рднреА рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?

рдпрд╣ рд╣рд╛рдВ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЖрдк рд╣рдореЗрд╢рд╛ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрд▓рдиреЗрдЯ рд╣реЛрд╕реНрдЯрдирд╛рдо рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рд╛рдБ, рдореИрдВ рд╣реЛрд╕реНрдЯ рдФрд░ рдкреЛрд░реНрдЯ рдХреЛ рдЯреЗрд▓рдиреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ .. (рд╕рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реЛрд╕реНрдЯ рдХреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдкрд░ / рдЖрджрд┐ / рд╣реЛрд╕реНрдЯ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рд╣реИрдВ)ред

рд╣рдорд╛рд░реЗ рдРрдк рдХреЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдФрд░ рдХрдиреЗрдХреНрд╢рди рдкреВрд▓ рдмрдирдиреЗ рдХреЗ рдмрд╛рдж, рдХреНрдпрд╛ рдХрднреА рдиреЗрдЯрд╡рд░реНрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдФрд░ рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╛ рдХреНрдпрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХрдиреЗрдХреНрд╢рди рдЯрд╛рдЗрдордЖрдЙрдЯ рд╣реИ рдФрд░ рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдореЛрдВрдЧреЛрдбрдм рд▓реЙрдЧ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛?

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд▓реЙрдЧ рдХреЗ рдкреВрд░реНрдг рд╕реЗрдЯ рдХреЗ рдмрд┐рдирд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдордЭрдиреЗ рдФрд░ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рдЪреАрдЬреЛрдВ рдХреЛ рд╕рд╣рд╕рдВрдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ (рдореЗрд░реА рдЕрдВрддрд┐рдо рдЯрд┐рдкреНрдкрдгреА https://jira.mongodb.org/browse/NODE-622 рдкрд░ рджреЗрдЦреЗрдВ)

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реЙрдХреЗрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдСрдкреНрд╕ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рд╕рднреА рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд▓ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ 30 рд╕реЗрдХрдВрдб рдХреА рд╡рд┐рдВрдбреЛ рдФрд░ 10 рдХрдиреЗрдХреНрд╢рди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ 5 рдСрдкреНрд╕ рд╕реЗ рдпрд╣ рд╣рд░ 30 рд╕реЗрдХрдВрдб рдореЗрдВ рдПрдХ рдкреБрди: рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдШрдЯрдирд╛ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ред

рдХреНрдпрд╛ рдпрд╣ рдкреВрд▓ рдХреЗ рд╕рднреА рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛? рдпрд╛ рдХреЗрд╡рд▓ рдЙрди рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдпрджрд┐ рд╣рдо 30 рд╕реЗрдХрдВрдб рдХреЗ рднреАрддрд░ рд╕рднреА рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдЕрдЧрд▓реА 30 рд╕реЗрдХрдВрдб рд╡рд┐рдВрдбреЛ рдореЗрдВ рдПрдХ рд╣реА рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?

рдореЗрд░реА рдХреЛрд╢рд┐рд╢ рд╣реЛрдЧреА рдХрд┐ рдЖрдк рдЬреЛ рднреА рдореЛрдирдЧреЛрдбрдм рдЯрд┐рдХрдЯ рдореЗрдВ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рд▓рд╛рдПрдВ .. рдЙрд╕рдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рд╕рдмред рдпрджрд┐ рдЖрдк рд╕реЙрдХреЗрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╡рд┐рдВрдбреЛ рдиреЛрдб рдореЗрдВ рдкреВрд▓ рдореЗрдВ рд╕рднреА рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВред рддреЛ рд╕реЙрдХреЗрдЯреНрд╕ рдХреЛ рдЯрд╛рдЗрдордЖрдЙрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╡реЗ рдкреВрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

рдХрдиреЗрдХреНрд╢рди рдХреЗ рдПрдХ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЗрд╡рд▓ рддрднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдмрд╣реБрдд рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрдЪрд╛рд▓рди рд╣реЛрддреЗ рд╣реИрдВ, рдЕрдиреНрдпрдерд╛ рдЖрдк рдПрдХ рдЫреЛрдЯреЗ рдкреВрд▓ рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рд╣реЛрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ MongoDB рдкреНрд░рддрд┐ рд╕реЙрдХреЗрдЯ рдереНрд░реЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдЬрд╛рд░реЛрдВ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЛ рд╕рд░реНрд╡рд░ рдФрд░ рдЗрдЪреНрдЫрд╛рд╢рдХреНрддрд┐ рдкрд░ рдЕрдзрд┐рдХ рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЕрдзрд┐рдХ CPU рд╕рдВрджрд░реНрдн рд╕реНрд╡рд┐рдЪ рдХрд╛ рдХрд╛рд░рдгред

рдореЗрдирдЧреЛрдбрдм-рдХреЛрд░ рдХрд╛ рдЕрдЧрд▓рд╛ рдкреНрд░рдореБрдЦ рд╕рдВрд╢реЛрдзрди рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдЯреНрд░реЗрди рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд▓ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдХреБрдЫ рдЕрдиреНрдп рдореВрд▓рднреВрдд рдкрд░рд┐рд╡рд░реНрддрди рднреА рдХрд░реЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХрдИ рдорд╣реАрдиреЗ рдмрд╛рд╣рд░ рд╣реИ рдФрд░ рд╢рд╛рдпрдж MongoDB 3.4 рдХрд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рде рдмрдВрдзреЗ рд╣реЛрдВрдЧреЗред

рдХреНрдпрд╛ рдЖрдк рдпрд╣ рд╕рдВрднрд╡ / рд╕рдВрднрд╛рд╡рдирд╛ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ / рд░реАрдХрдиреЗрдХреНрдЯ рдХреА рднрд╛рд░реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХреЛрдИ рдкреНрд░рд╛рдердорд┐рдХ рд╕рд░реНрд╡рд░ рдЙрдкрд▓рдмреНрдз рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИ?

рд╣рд╛рдВ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрд╡рдзрд┐ рд╣реЛрдЧреА рдЬрд╣рд╛рдВ рд╕реЗрдЯ рдореЗрдВ рдХреЛрдИ рд╕рд░реНрд╡рд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

@christkv рдореИрдВ рддрдм рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдлрд┐рд░ рд╕реЗ рдЙрд╕ рджреВрд╕рд░реЗ рдЯрд┐рдХрдЯ рдореЗрдВ рдХреБрдЫ рд▓реЙрдЧ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реЛрддреЗред рд╣рдорд╛рд░рд╛ рдХреНрд▓рд╕реНрдЯрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╣рдлреНрддреЛрдВ рд╕реЗ рд╕реНрдерд┐рд░ рд╣реИ рдФрд░ рд╣рдордиреЗ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИред

@ChrisZieba рдЕрдЬреАрдм рд╣реИ рдХрд┐ рд╣рдореЗрд╢рд╛ рдРрд╕рд╛ рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ lol: +1: рдореИрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП рдЬреАрд░рд╛ рдореЗрдВ рдЯрд┐рдХрдЯ рдЦреБрд▓рд╛ рдЫреЛрдбрд╝ рджреЗрддреА рд╣реВрдВ рдФрд░ рджреЗрдЦрддреА рд╣реВрдВ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВред

@christkv рд╣рд╛рдп рдХреНрд░рд┐рд╢реНрдЪрд┐рдпрди, рдореИрдВ рдЙрддреНрд╕реБрдХ рд╣реВрдБ рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдо рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдкрд░ рдХреЛрдИ рд╕рдВрдХреЗрдд рд╣реИред рдореИрдВ рдкреВрд▓ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ред

рдЕрдЧрд░ рдпрд╣ рдХрд┐рд╕реА рдФрд░ рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореИрдВрдиреЗ рд╕реЙрдХреЗрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдмрдврд╝рд╛ рджрд┐рдпрд╛ рдФрд░ рд╕рд╛рде рд╣реА 200 рдХреЛ рднреА рдмрдврд╝рд╛ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдкреВрд▓ 3 рдХреЛ рднреА рдХрдо рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдХрдо рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ / рдкреБрди: рдХрдиреЗрдХреНрдЯ рд╣реЛрддрд╛ рд╣реИ .. рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрднреА рднреА рдХрднреА-рдХрднреА рд╣реЛрддрд╛ рд╣реИред

рдпрджрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдордиреЗ рд╕реЙрдХреЗрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рдФрд░ рдХрдиреЗрдХреНрд╢рдирдЯрд╛рдЗрдордЖрдЙрдЯ рдФрд░ рдХреАрдкрдПрд▓рд╛рдЗрд╡ рд╕рд╣рд┐рдд рд▓рдЧрднрдЧ рд╕рднреА рдорд╛рдирд╕реВрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдФрд░ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд┐рд░ рд╣реЛрдиреЗ рд▓рдЧреЗред рд╣рдорд╛рд░рд╛ рдкреВрд▓рд╕рд╛рдЗрдЬрд╝ 200 рд╣реИред
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ рд▓реЗрдХрд┐рди рдЕрдм рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рдо рдЕрднреА рднреА рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдЧрд░рд╛рдиреА рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдзрд╛рд░рдг рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдореЛрдВрдЧреЛрд╕ v4.4.2
рдиреЛрдб 4
рдорд╛рдирдЧреЛ 3.0

рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдзреАрдореЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдПрдХ рдмрдбрд╝реА рд░рд╛рд╢рд┐ рд╣реИ? рдЕрдЧрд░ рдЖрдкрдХреЛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдкрдХреЛ 20 рдХреБрд░реНрд╕рд┐рдпрд╛рдВ тАЛтАЛрдмрдирд╛рдо 500 рдХреЗ рдкреВрд▓ рдХреЗ рдмреАрдЪ рдХреЛрдИ рдЕрдВрддрд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ ... рдпрд╣ 200 рд╣реИред рдЯрд┐рдкреНрдкрдгреА рдлрд┐рдХреНрд╕реНрдбред

рдФрд░ рд╣рд╛рдБ, рддреБрдо рд╕рд╣реА рд╣реЛред рд╣рдо рдмрд╣реБрдд рдЕрдВрддрд░ рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреВрд▓ рдХрд╛ рдЖрдХрд╛рд░ рдЫреЛрдЯреЗ рд╕реЗ рдмрдбрд╝рд╛ рд╣реИред

рдЬрдм рдХрдиреЗрдХреНрд╢рди рдЦреБрд▓рд╛ рд░рд╣рддрд╛ рд╣реИ рдФрд░ рдмрдВрдж рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдЕрд╕рд▓реА рд╕рдорд╕реНрдпрд╛ред рдпрд╣ рддрдм рддрдХ рд╣реБрдЖ рдХрд░рддрд╛ рдерд╛ рдЬрдм рддрдХ рдХрд┐ рд╣рдо рд╕рднреА рдореИрдВрдЧреЛрдЬрд╝ рдЯрд╛рдЗрдордЖрдЙрдЯ рдФрд░ рдХреАрдкреНрд▓реАрд╡ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╣рдЯрд╛ рдирд╣реАрдВ рджреЗрддреЗред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпреЗ рдХреНрдпреЛрдВ mongoose / mongo- рдЪрд╛рд▓рдХ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ OS рдХреЛ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдиреЗ рджреЗрддреЗ рд╣реИрдВ?

рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ 2.1.7 рдФрд░ рдЙрдЪреНрдЪрддрд░ рдореЗрдВ рдПрдХ рдкреБрди: рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреВрд▓ рд╣реИ рдЬреЛ рдЗрд╕рд╕реЗ рдмрдЪрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╕реЙрдХреЗрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ 0 рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдУрдПрд╕ рдХреЛ рд╕реМрдВрдкрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд▓рдЯрдХрддреЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ 10 рдорд┐рдирдЯ рддрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЕрдЫрд╛ рдареАрдХ рд╣реИред рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рддреЛ рдЕрдм рдЬрдм рдХрд┐ рдореИрдВрдиреЗ KeepAlive рдФрд░ рд╕реЙрдХреЗрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рддреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреНрдпрд╛ рд╣реИрдВ?

рдпрд╣ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдорд╛рдирд╕реВрди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдбреНрд░рд╛рдЗрд╡рд░ рдореЗрдВ MongoClient.connect рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХрдиреЗрдХреНрдЯ рдФрд░ рд╕реЙрдХреЗрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ 30 рд╕реЗрдХрдВрдб рд╣реИред

рд╣рдо connect рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЬрдм рд╣рдо 30 рд╕реЗрдХрдВрдб рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдвреЗрд░ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ 500 рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ рдкреВрд▓ рдХреЛ рдЦреБрд▓рд╛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЙрдХреЗрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рдЕрд╡рдзрд┐ рдХреЗ рдЕрдВрджрд░ рдХрдо рд╕реЗ рдХрдо 500 рдСрдкреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЕрдиреНрдпрдерд╛ рдпрд╣ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдкреБрди: рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реЗрдЧрд╛ред 2.1.7 рдореЗрдВ рдпрд╣ рдмрджрд▓рд╛рд╡ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкреВрд▓ рдмрдврд╝рдиреЗ рд╡рд╛рд▓рд╛ / рд╕рд┐рдХреБрдбрд╝рддрд╛ рд╣реБрдЖ рдореЙрдбрд▓ рд╣реИред

рдореИрдВ mongodb 3.2.6 рдФрд░ mongoose 4.3.4 рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд░рд╣рд╛ рд╣реВрдБред рдЗрд╕ рдкрд░ рдХреЛрдИ рдорджрдж?

@ 15astro socketTimeout рдФрд░ connectionTimeout рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИред

@refaelos Ok..willl рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ .. рдореИрдВрдиреЗ KeepAlive = 6000 рдХреЗ рд╕рд╛рде рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреЛрдИ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реАред рдмрд╕ рдпрд╣ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ socketTimeout рдФрд░ connectionTimeout рдирд┐рдХрд╛рд▓рдиреЗ рд╕реЗ рдХреИрд╕реЗ рдорджрдж рдорд┐рд▓реЗрдЧреА?

рд╣рд╛рдБ, рд╣рдордиреЗ рдЗрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдЬрд╝рдорд╛рдпрд╛ рдФрд░ рдХреЗрд╡рд▓ рдЬрдм рд╣рдордиреЗ рдЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рддрдм рдЪреАрдЬреЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧреАрдВред

@refaelos : рдореБрдЭреЗ рдЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд╕рд╛рде рдХреЛрдИ рднрд╛рдЧреНрдп рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдХреЛрдИ рдФрд░ рдмрд╛рдд рдпрд╛рдж рдЖ рд░рд╣реА рд╣реИ?

@ 15astro рдирд╣реАрдВ рдпрд╛рд░ред рдорд╛рдлрд╝ рдХрд░рдирд╛ред рдЖрдЬ рд╣рдорд╛рд░реА рд╕реЗрдЯрд┐рдВрдЧ рдХреИрд╕реА рджрд┐рдЦрддреА рд╣реИ:

mongo   : {
    uri    : process.env.MNG_URL || 'mongodb://localhost/myDB',
    options: {
      user   : process.env.MNG_USER,
      pass   : process.env.MNG_PASS,
      replset: {
        poolSize: 200
      }
    }

  }

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ / рдЖрджрд┐ / рдореЗрдЬрдмрд╛рдиреЛрдВ рдореЗрдВ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдирд╛рдо рдХреЗ рд▓рд┐рдП рдЖрдИрдкреА рдХреА рдХрдореА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдерд╛ред

рдпрджрд┐ рдЖрдкрдиреЗ рдЖрдИрдкреА рдХреЗ рдмрдЬрд╛рдп рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ / MongoDB рдПрдирдЬреАрдПрд╕ рдХреЗ рдореЗрдЬрдмрд╛рди рдЖрджрд┐ рдореЗрдВ рд╣реИрдВ:

10.10.10.10 mongodb-2gb-fra1-02 10.10.10.11 mongodb-2gb-fra1-01 10.10.10.12 mongodb-2gb-fra1-03

рдлрд┐рд░ рдЖрдкрдХреЛ рдЗрд╕реЗ рдЕрдкрдиреЗ рд╕рднреА рдРрдк рд╕рд░реНрд╡рд░ рдХреЗ / etc / рдореЗрдЬрдмрд╛рди рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпреВрдЖрд░рдЖрдИ рдореЗрдВ рдореИрдВрдиреЗ рдЬреЛ рдХреБрдЫ рднреА рдбрд╛рд▓рд╛ рд╣реИ, рдЙрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдиреЛрдб-рдореЛрдВрдЧреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдиреЛрдб-рдореЛрдВрдЧреЛ рдЖрдИрдкреА рдпрд╛ рдореЛрдВрдЧреЛ рдпреВрдЖрд░рдЖрдИ рд╕реЗ рдирд╛рдо рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдлрд┐рд░ рдкрд╣рд▓реЗ рдореЛрдВрдЧреЛрдмреАрдбреА рдиреЛрдб рд╕реЗ рдЕрдиреНрдп рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рд╣реЛрд╕реНрдЯрдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдерд╛ред рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП mongodb-2gb-fra1-03 рдФрд░ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП OS рдкрд░ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЧрд░ OS тАЛтАЛрдХреЛ mongodb-2gb-fra1-03 рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ "рддреНрд░реБрдЯрд┐ рдХреЛрдИ рдкреНрд░рд╛рдердорд┐рдХ рд╕рд░реНрд╡рд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ" рдлреЗрдВрдХрддрд╛ рд╣реИред

рдЙрдореНрдореАрдж рд╣реИ рдХреА рд╡реЛ рдорджрдж рдХрд░рджреЗред

@adriank рд╣рд╛рдБ, рдпрд╣ рд╕рд╣реА рд╣реИ, рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рдХрдиреЗрдХреНрд╢рди рд╣реИ, рдЬреЛ рдЗрд╕реЗ рдкреНрд░рддрд┐рдХреГрдд рд╡рд┐рдиреНрдпрд╛рд╕ рд╕реЗ рд╡рд╛рдкрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рддреНрдп рдХрд╛ рд╡рд┐рд╣рд┐рдд рд╕реНрд░реЛрдд рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рднреА рдкрддреЗ рдбреНрд░рд╛рдЗрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд░реВрдк рд╕реЗ рд╡рд┐рдлрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдХреЛ рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдФрд░ рд╕реЗрдЯ рд╕реЗ рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдкрд┐рдЫрд▓реЗ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдиреЗ SDAM рдпреБрдХреНрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ рдФрд░ рдЬрд╣рд╛рдБ рдЕрдзрд┐рдХ рдвреАрд▓рд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ред

@christkv рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ MongoSpector рдЬреИрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреБрд░рд╛ рд╕рдкрдирд╛ рд╣реИред рдЗрд╕рдХреА рд╡рдЬрд╣ рд╕реЗ рд╣рдореЗрдВ рдПрдХ рдореЗрдЬрдмрд╛рди рд╕реЗ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИред DigitalOcean рдСрдЯреЛ рдбреНрд░реЙрдкреНрд╕ рдХреЛ рдирд╛рдо рджреЗрддрд╛ рд╣реИ рдЬреЛ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рдХреЛ рднреА рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЕрд╕рд░ рдпрд╣ рд╣реИ рдХрд┐ рдХрдИ рдХреНрд▓рд╛рдЗрдВрдЯреНрд╕ рдХреЗ рдкрд╛рд╕ mongodb-2gb-fra1-01 PR

рд╣рдо рдпрд╣рд╛рдВ рдПрдХ рд╕рд░реНрд╡рд░ рдЯрд┐рдХрдЯ рдЯреНрд░реИрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ https://jira.mongodb.org/browse/SERVER-1889ред рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

рд╣рдореЗрдВ DigitalOcean рдХреЗ рд╕рд╛рде рдПрдХ рдЯрд┐рдХрдЯ рднреА рджрд░реНрдЬ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╡реЗ рдЧрд▓рддреА рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдмрддрд╛ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред

рд╡реИрд╕реЗ рдЖрдк рдкреНрд░рддрд┐рдХреГрдд рд╕рджрд╕реНрдпреЛрдВ рдХреЛ рдЙрдирдХреЗ рдирдП рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ

рдПрдХ рд╕рдорд╕рд╛рдордпрд┐рдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдорд╛рд░реЗ рдЬреБрдбрд╝реЗ рд░рд╣рдиреЗ рдХреЗ рд▓рдЧрднрдЧ 12-24 рдШрдВрдЯреЛрдВ рдХреЗ рдмрд╛рдж рд╣рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ "рдХреЛрдИ рдкреНрд░рд╛рдердорд┐рдХ рд╕рд░реНрд╡рд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ"

рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдирд╛ рдЖрдорддреМрд░ рдкрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред

рдХрдиреЗрдХреНрд╢рди:
{ "url": "mongodb://user:password@cluser-shard-00-00, cluser-shard-00-01, cluster-shard-00-02/settings?ssl=true&replicaSet=primarycluster-shard-0&authSource=admin&retryWrites=true", "options": { "db": { "w": 1, "wtimeout": 3000, "fsync": true }, "authSource": "admin", "server": { "poolSize": 3, "socketOptions": { "autoReconnect": true, "keepAlive": 60000, "connectTimeoutMS": 7000, "socketTimeoutMS": 15000 } } }, "password": "password", "username": "username" }

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

rohan-paul picture rohan-paul  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lukasz-zak picture lukasz-zak  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

varunjayaraman picture varunjayaraman  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Soviut picture Soviut  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

weisjohn picture weisjohn  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ