当前位置:  首页>> 技术小册>> PHP高性能框架-Workerman

Worker说明
Workerman中有一个重要的概念,即:Worker.

Worker是WorkerMan中最基本容器,Worker可以开启多个进程监听端口并使用特定协议通讯,类似nginx监听某个端口。每个Worker进程独立运作,采用Epoll(需要装event扩展)+非阻塞IO,每个Worker进程都能上万的客户端连接,并处理这些连接上发来的数据。

主进程为了保持稳定性,只负责监控子进程,不负责接收数据也不做任何业务逻辑。


客户端与worker进程的关系

我们可以看到,Workerman会起多个Worker进程,多个客户端可以同时连接到同一个Worker进程。

主进程与worker子进程关系
类似于Nginx服务器,由一个master主进程管理多个Worker进程。
Workerman也同样使用了这样的管理方式:

从上面的图中我们可以看到Workerman进程之间的管理方式:
master进程:

  • master进程统一进行管理多个worker进程。
  • master进程启动后,进行必要的环境检查等操作,随后创建Worker进程。
  • master进程变为守护进程,并在后台与worker进程进行通信。

Worker进程:

  • Worker进程启动后,监听端口,处理请求。
  • Worker处理请求后,返回结果,关闭连接,等待处理下一个请求。
  • Worker进程保持与master进程间通信。

小结:
Workerman的每个Worker维持着各自的客户端连接,通过这种试,我们可以实现很多应用场景,如HTTP服务器、Rpc服务器、一些智能硬件实时上报数据、服务端推送数据、游戏服务器、微信小程序后台等等