关注公众号“执鸢者”,获取大量教学视频及私人总结面筋并进入专业交流群,回复“Node”获取本节思维导图
![](https://i-blog.csdnimg.cn/blog_migrate/5b9b0ad958d96e6f88c64cc17949a2e6.png)
众所周知,Node是单线程的,该应用只会占用一个CPU,但是当前服务器都含有多核CPU,Node应用运行在该机器上根本就不能榨干所有性能,为了榨干它,我们的多进程架构就出来了。今天就让我们一起来唠一唠Node如何应用多进程。
![](https://i-blog.csdnimg.cn/blog_migrate/654e417c3d3d4091f448f7a765a9e235.png)
一、现状
Node是单线程的,但是服务器具有多个CPU,作为节约“粮食”的好孩子,肯定要想办法解决这个问题。
![](https://i-blog.csdnimg.cn/blog_migrate/a37bd143d78384a3d44d68d30cc85916.png)
二、解决措施
为了解决该问题,发展出了多进程架构
![](https://i-blog.csdnimg.cn/blog_migrate/65962d1c5824cc16c4f6aa22a39fe8ec.png)
三、child_process模块
child_process模块帮助我们构建多进程架构
![](https://i-blog.csdnimg.cn/blog_migrate/6e4cb237854d01ca69287aad34b2ecd5.png)
3.1 创建子进程
![](https://i-blog.csdnimg.cn/blog_migrate/60fd065242bb06273fb0410995bfe785.png)
3.2 事件
![](https://i-blog.csdnimg.cn/blog_migrate/7ae885f614efb903b63e50796d81e7aa.png)
3.3 常用属性
![](https://i-blog.csdnimg.cn/blog_migrate/87aab55b20511e437a51ec13ed3aba20.png)
3.4 常用方法
![](https://i-blog.csdnimg.cn/blog_migrate/53f01245df90f9c34251c95f004d2bb2.png)
3.5 进程间通信(IPC)
![](https://i-blog.csdnimg.cn/blog_migrate/9f4ffac8a688a5a5c7d4bd1d3569ad56.png)
3.6 保证系统健壮性
![](https://i-blog.csdnimg.cn/blog_migrate/34dc2e17ab1e19c53cce79aa66dadb6c.png)
四、cluster模块
cluster模块帮助解决多核cpu利用率问题及帮助处理进程的健壮性问题。
![](https://i-blog.csdnimg.cn/blog_migrate/67ec244ac1ed859229a90561a539671a.png)
4.1 优点
![](https://i-blog.csdnimg.cn/blog_migrate/7731d5f886d9777bca948edab4c82a43.png)
4.2 创建工作进程
![](https://i-blog.csdnimg.cn/blog_migrate/28970f9c592c29de3813e9be7f8d7c9b.png)
4.3 cluster暴露内容
![](https://i-blog.csdnimg.cn/blog_migrate/76f44936dafc877282476fac5ff42ffa.png)
4.4 Worker类
![](https://i-blog.csdnimg.cn/blog_migrate/c9e8030bbf3815ea3096d5ef8f2966fc.png)
4.5 cluster缺点
![](https://i-blog.csdnimg.cn/blog_migrate/dab529869c48b89cee2c8206d99331e3.png)
4.6 注意点
![](https://i-blog.csdnimg.cn/blog_migrate/91b6acea36bd3ef66a4492c02f7516de.png)
1.如果觉得这篇文章还不错,来个分享、点赞、在看三连吧,让更多的人也看到~
2.关注公众号执鸢者,领取学习资料,定期为你推送原创深度好文
3.扫描下方添加进群,里面大佬多多,一起向他们学习
![]()
1. 图解JavaScript——代码实现(Object.create()、flat()等十四种代码原理实现不香吗?)
2. 图解JavaScript——代码实现【2】(重点是Promise、Async、发布/订阅原理实现)
6. 图解浏览器安全(同源策略、XSS、CSRF、跨域、HTTPS、安全沙箱等串成糖葫芦)
8. (2.6w字)网络知识点灵魂拷问(上)——前端面试必问