+-------------------+ +----------------------------+ +--------------------------+
| | | | | |
| egg-bin dev +--------> | egg-cluster startCluster +--------> | maser +------------+
| | | | | | |
+-------------------+ +----------------------------+ +--------------------------+ |
|
|
|
+-------------------------------+ +----------------------------------+ |
| | | | |
| agentWorkerLoader | <-------+ agent_worker new [Agent] | <------+ |
| | | | | |
+-------------------------------+ +----------------------------------+ | |
+----+
|
+-------------------------------+ +----------------------------------+ |
| | | | |
| appWorkerLoader | <-------+ app_worker new [Application] | <------+
| | | |
+-------------------------------+ +----------------------------------+
注:以启动
npm run dev为例
- 在项目目录下启动
npm run dev执行了egg-bin dev egg-bin命令执行了egg的startCluster()方法startCluster是直接引用require('egg-cluster').startClusteregg-cluster模块启动了两种worker- agent_worker
egg.Agent()- 用于进程守护和其他非业务操作
- app_worker
egg.Application()- 业务操作进程
- agent_worker