Bir node.js yöneticisi değilim, bu konuda daha fazla bakış açısına sahip olmak istiyorum.Küme ve düğüm webworker ile yüksek performanslı bir node.js uygulaması oluşturma
Sadece çok sayıda eşzamanlı bağlantıyı değil, aynı zamanda uzun süren işleri de işleyen bir HTTP node.js web sunucusu oluşturuyorum. Varsayılan olarak, node.js bir işlemde çalışır ve sonraki bir bağlantıyı yürütmek için uzun süren bir kod parçası varsa kod, önceki bağlantıda ne yaptığını bitirene kadar beklemelidir.
Örneğin:
Yanivar http = require('http');
http.createServer(function (req, res) {
doSomething(); // This takes a long time to execute
// Return a response
}).listen(1337, "127.0.0.1");
Ben node-webworker kitaplığı kullanarak ayrı konuda tüm uzun süren işleri çalıştırmak için düşünüyordum:
var http = require('http');
var sys = require('sys');
var Worker = require('webworker');
http.createServer(function (req, res) {
var w = new Worker('doSomething.js'); // This takes a long time to execute
// Return a response
}).listen(1337, "127.0.0.1");
Ve her şey daha fazla ölçülebilir hale getirmek için, ben Her bir CPU çekirdeği için yeni bir düğüm işlemi oluşturmak için cluster'u da kullanmayı düşündüm. Ben cluster
ile farklı süreçler yoluyla müşteri bağlantılarını dengelemek için bekliyoruz Bu şekilde
node-webworker
ayrı iş parçacığı üzerinde uzun süren bir iş yürütmek.
Bu yapılandırmada bir sorun var mı?
Son güncelleme 2 yıl önce –