众所周知,Node是单线程的,该应用只会占用一个CPU,但是当前服务器都含有多核CPU,Node应用运行在该机器上根本就不能榨干所有性能,为了榨干它,我们的多进程架构就出来了。今天就让我们一起来唠一唠Node如何应用多进程。
一、现状
Node是单线程的,但是服务器具有多个CPU,作为节约“粮食”的好孩子,肯定要想办法解决这个问题。
二、解决措施
为了解决该问题,发展出了多进程架构
三、child_process模块
child_process模块帮助我们构建多进程架构
3.1 创建子进程
3.2 事件
3.3 常用属性
3.4 常用方法
3.5 进程间通信(IPC)
3.6 保证系统健壮性
四、cluster模块
cluster模块帮助解决多核cpu利用率问题及帮助处理进程的健壮性问题。
4.1 优点
4.2 创建工作进程
4.3 cluster暴露内容
4.4 Worker类
4.5 cluster缺点
4.6 注意点