教程:http://taobaofed.org/blog/2015/11/03/nodejs-cluster/
纠正:net.createServerHandle();
记录:http://www.jianshu.com/p/54b85f278695
代码:
master
const net = require('net'); const fork = require('child_process').fork; var handle = net.createServerHandle('0.0.0.0', 3000); for(var i=0;i<4;i++) { fork('./worker').send({}, handle); }
worker
const net = require('net'); process.on('message', function(m, handle) { start(handle); }); var buf = 'hello nodejs'; var res = ['HTTP/1.1 200 OK','content-length:'+buf.length].join(' ')+' '+buf; function start(server) { server.listen(); server.onconnection = function(err,handle) { console.log('got a connection on worker, pid = %d', process.pid); var socket = new net.Socket({ handle: handle }); socket.readable = socket.writable = true; socket.end(res); } }
解释,fork('/worker)->emit('message')
教程:http://taobaofed.org/blog/2015/11/10/nodejs-cluster-2/
由于多进程模型存在的问题,这里采用了另一种模型。实际中,先采用pm2来作。
这篇教程,还有很多地方没看懂,有些看懂了,看是还没用到。