swoole(2)swoole进程结构
一:进程基本概念
- 系统中正在运行的一个程序,程序一旦运行就是进程
- 一个进程可以拥有多个线程
- 核心内容分为两部分:内存(进程创建时从系统分配的,它所创建的变量都会存储在这一块内存中)、上下文环境
二:swoole进程结构
- master进程(主进程)
- manager进程(管理进程)
- worker进程(工作进程)
- task进程(异步任务工作进程)
client与server的交互:
- client请求到达main reactor,与master进程中的某个reactor线程连接
- main reactor将请求注册给对应的reactor
- 客户端有变化时reactor将数据交给worker处理
- worker处理完毕,通过进程间通信,发给对应的reactor
- reactor将响应结果发给相应的连接请求处理完成
关系:一个更通俗的比喻,假设Server
就是一个工厂,那Reactor
就是销售,接受客户订单。而Worker
就是工人,当销售接到订单后,Worker
去工作生产出客户要的东西。而TaskWorker
可以理解为行政人员,可以帮助Worker
干些杂事,让Worker
专心工作。
三:进程及其相对应事件绑定
参考地址:https://wiki.swoole.com/wiki/page/p-event/onStart.html
- 服务器关闭程序终止时的最后一次事件是onShutdown
- 服务器启动成功后,onStart、onManager、onWorkerStart不是顺序执行的
- 所有事件回掉均在$server->start后发生,start之后写的代码时无效代码