真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Node學(xué)習(xí)記錄之cluster模塊

在如今機(jī)器的CPU都是多核的背景下,Node的單線程設(shè)計(jì)已經(jīng)沒(méi)法更充分的"壓榨"機(jī)器性能了。所以從v0.8開(kāi)始,Node新增了一個(gè)內(nèi)置模塊——“cluster”,故名思議,它可以通過(guò)一個(gè)父進(jìn)程管理一坨子進(jìn)程的方式來(lái)實(shí)現(xiàn)集群的功能。

成都創(chuàng)新互聯(lián)堅(jiān)信:善待客戶,將會(huì)成為終身客戶。我們能堅(jiān)持多年,是因?yàn)槲覀円恢笨芍档眯刨?。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。十多年網(wǎng)站建設(shè)經(jīng)驗(yàn)成都創(chuàng)新互聯(lián)是成都老牌網(wǎng)站營(yíng)銷(xiāo)服務(wù)商,為您提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、H5開(kāi)發(fā)、網(wǎng)站制作、高端網(wǎng)站設(shè)計(jì)小程序定制開(kāi)發(fā)服務(wù),給眾多知名企業(yè)提供過(guò)好品質(zhì)的建站服務(wù)。

var cluster = require('cluster');
var http = require('http');
var numCPUs = require('os').cpus().length; // 獲取CPU的個(gè)數(shù)
 
if (cluster.isMaster) {
  for (var i = 0; i < numCPUs; i++) {
    cluster.fork();
  }
 
  cluster.on('exit', function(worker, code, signal) {
    console.log('worker ' + worker.process.pid + ' died');
  });
} else {
  http.createServer(function(req, res) {
    res.writeHead(200);
    res.end("hello world\n");
  }).listen(8000);
}

通過(guò)isMaster屬性,判斷是否Master進(jìn)程,是則fork子進(jìn)程,否則啟動(dòng)一個(gè)server。每個(gè)HTTP server都能監(jiān)聽(tīng)到同一個(gè)端口。但是在實(shí)際項(xiàng)目中,我們的啟動(dòng)代碼一般都已經(jīng)封裝在了app.js中,要把整塊啟動(dòng)邏輯嵌在上面的if else中實(shí)在不優(yōu)雅。 所以,我們可以這樣:

var cluster = require('cluster');
var numCPUs = require('os').cpus().length;
 
if (cluster.isMaster) {
  for (var i = 0; i < numCPUs; i++) {
    cluster.fork();
  }
  // 其它代碼
  
} else {
  require("./app.js");
}

簡(jiǎn)單之處就在于原本的應(yīng)用邏輯根本不需要知道自己是在集群還是單邊。(當(dāng)然,如果應(yīng)用在內(nèi)存中維護(hù)了某些狀態(tài),比如session,就需要運(yùn)用某些機(jī)制來(lái)共享了,這里不詳說(shuō))

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


分享名稱(chēng):Node學(xué)習(xí)記錄之cluster模塊
當(dāng)前路徑:http://weahome.cn/article/psihde.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部