- cluster.js
// 集群 父进程里面可以开子进程
// 父进程和字进程可以共享一段代码
// 进程fork
const cluster = require('cluster')
const len = require('os').cpus().length
const path = require('path')
console.log(len)
cluster.setupMaster({
exec: path.join(__dirname,'sub.js')
})
for(let i = 0; i < len; i++) {
cluster.fork()
}
复制代码
- sub.js
const http = require('http')
console.log(process.pid)
http
.createServer((req, res) => {
res.end('ok' + process.pid)
})
.listen(3000)
复制代码
- client.js
let options = {
hostname: 'localhost',
port: 3000
}
const http = require('http')
for (let i = 0; i < 100; i++) {
http.get(options, function(res) {
res.on('data', function(data) {
console.log(data.toString())
})
})
}
复制代码