PM2 Cluster vs Fork 模式详解
一、Cluster 模式 vs Fork 模式
核心区别表格:
- 进程数量:Cluster多个worker,Fork单进程
- 利用多核:Cluster充分利用,Fork单核
- 零停机部署:Cluster支持reload,Fork不支持
- 内存占用:Cluster高,Fork低
- 状态共享:Cluster不共享,Fork天然共享
Cluster 模式优点
- 充分利用多核 CPU
- 零停机部署
- 更高并发
- 进程隔离
Cluster 模式缺点
- 内存占用翻倍
- 状态不共享
- Session 问题
- 定时任务重复
- 调试复杂
Fork 模式优点
- 内存占用低
- 状态天然共享
- 定时任务不重复
- 调试简单
Fork 模式缺点
- 无法利用多核
- 无零停机部署
- 单点故障
二、reload vs restart
restart:先杀死再启动,有停机时间,适用所有模式
reload:先启动新的再杀死旧的,零停机,仅Cluster模式
三、环境变量更新
- pm2 reload app:不会加载新环境变量
- pm2 reload app --update-env:会加载
- pm2 startOrReload ecosystem.config.js:会从配置文件读取
四、实践建议
Web服务用Cluster+startOrReload,定时任务用Fork+startOrRestart
版权声明:
作者:东明兄
链接:https://blog.crazyming.com/note/3286/
来源:CrazyMing
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论