手记

12、Workerman工作原理

    Workerman类似一个PHP版本的nginx,核心也是多进程+Epoll+非阻塞IO

1、Worker概念说明

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

2、进程管理

    Workerman采用master+worker的进程模型方式,进行代码运行

  • master(主进程)

    负责监控工作进程,不负责接收数据和不进行任何业务逻辑处理

  • worker(某个服务下的工作进程)

    监听端口并使用特定协议通讯,处理客户端请求

3、主进程与工作进程的关系

    

4、运行方式

    常驻内存,本身不依赖apache/nginx/php-fpm,没有容器到PHP的通讯开销,没有每个请求初始化一切又销毁一切的开销,具有超高的性能,比起传统的MVC框架,性能要高数十倍。

备注: 由于是常驻内存,因此修改代码后,需要重启才能生效


1人推荐
随时随地看视频
慕课网APP