Node.js 如何开启多进程,进程之间如何通信?
简答题困难507 次浏览
参考答案与解析
# 核心结论
Node.js 可以通过 child_process 创建子进程,通过 cluster 组织多个工作进程共同承接网络流量,也可以由容器或进程管理器启动多个独立实例。不同进程拥有独立地址空间,普通对象和模块状态不能直接共享;进程间通信通常依赖内建消息通道、标准输入输出管道、套接字、句柄传递、共享内存机制或数据库、缓存、消息队列等外部设施。选型时应先明确目标是利用多核承载请求、运行外部程序、隔离故障,还是并行处理计算任务。
# 底层机制
child_process.spawn() 适合启动任意程序,并通过流处理标准输入、标准输出和标准错误,能够自然应用背压。exec() 通过命令解释器执行
