node cluster 集群增加你应用的负载能力
2023-12-21 17:33:07
node的 cluster集群可有效的增加应用负载能力
以koa为例,实例化创建一个应用:ESM写法(./server.mjs)
import Koa from 'koa'
export const createServer = (port = 8900) => {
const app = new Koa()
app.use(async ctx => {
ctx.body = 'i am koa'
})
app.listen(port, () => { console.log(`server run on http://localhost:${port}`) })
return app
}
然后部署时以集群部署:ESM写法(./cluster.mjs)
import cluster from 'node:cluster'
import { cpus } from 'node:os'
import { createServer } from './server.mjs'
const cpuNum = cpus().length // cpu数量
// 判断集群
if (cluster.isPrimary) { // node 18 版本新增属性,18以下是isMaster(已弃用)
for(let i = 0; i < cpuNum; i ++) {
cluster.fork() // 子集群
}
} else {
createServer() // 创建应用,应用之间会共享端口
}
本地调试则无需集群:(./dev.mjs)
import { createServer } from './server.mjs'
const app = createServer()
文章来源:https://blog.csdn.net/angle_lzc/article/details/135133212
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!