0

私はexpressを使用してノードアプリケーションを開発しています。クラスタリングについて聞いたところ、アプリのパフォーマンスを向上させる良い方法です。だから私はこの方法を試してみました、ノードjsアプリケーションでクラスタと異なるデータベース接続を作成する必要がありますか?

if(cluster.isMaster){ 
    debug(`Master ${process.pid} is running`); 

// Fork works 
    for (let i =0;i<numCPU;i++){ 
     cluster.fork(); 
    } 

    cluster.on('exit',(worker,code,signal)=>{ 
     debug(`Worker ${worker.process.pid} died.`); 
    }); 
}else{ 

    var app = require('../app'); 
    app.set('port', port); 

    var server = http.createServer(app); 

    database.connect(function (err) { 
     if (err){ 
      debug('Unable to connect MongoDB'); 
      process.exit(1); 
     }else{ 
      server.listen(port); 
     } 
    }); 

    server.on('error', onError); 

    debug(`Worker ${process.pid} start`); 
} 

私の質問ですが、私は非常に始まり、使用するデータベースの瞬間にMongoの接続を作成し、使用するクラスタの前に。しかし今、私はクラスタを作成するたびにそれを繰り返します。私は何も役に立たないことを感じますが、私はそれをどのように修正するのか分かりません。データベースを作成するこの方法が間違っている場合、どうすれば修正できますか?または各クラスタに対してデータベース接続を作成する必要がありますか?

答えて

0

私は講師から回答があると思います。今はクラスタがいくつかのアプリケーションを実行するわけではなく、いくつかの接続を提供するクラスタを知っている。したがって、各クラスタごとに接続を作成したり、各クラスタについて個別に考える必要はありません。私たちがやらなければならないことは、アプリケーションを作成し、クラスターマネージャーに残りの作業をさせることです...

関連する問題