CNode

集群的master节点能当http服务器吗?

Zzaobao发布于13 年前最后回复13 年前2 回复5201 浏览0 收藏

var cluster = require('cluster'); var http = require('http'); var numCPUs = require('os').cpus().length;

if (cluster.isMaster) { // Fork workers. for (var i = 0; i < numCPUs; i++) { cluster.fork(); }

cluster.on('exit', function(worker, code, signal) { console.log('worker ' + worker.process.pid + ' died'); }); } else { // Workers can share any TCP connection // In this case its a HTTP server http.createServer(function(req, res) { res.writeHead(200); res.end("hello world\n"); }).listen(8000); }

查看回复

回复 (2)

Z
zaobao#1·13 年前
Z
zaobao#2·13 年前

不过完全没必要在一开始就使用线程池,在哪里阻塞再在哪里开个新线程,像数据库这种要频繁异步访问的就再开个线程池,这样更灵活。 我总想一开始就把任务分到不同线程,其实单进程也不错。

参与回复
登录后即可参与回复。登录