Worker说明
Workerman中有一个重要的概念,即:Worker.
Worker是WorkerMan中最基本容器,Worker可以开启多个进程监听端口并使用特定协议通讯,类似nginx监听某个端口。每个Worker进程独立运作,采用Epoll(需要装event扩展)+非阻塞IO,每个Worker进程都能上万的客户端连接,并处理这些连接上发来的数据。
主进程为了保持稳定性,只负责监控子进程,不负责接收数据也不做任何业务逻辑。
客户端与worker进程的关系
我们可以看到,Workerman会起多个Worker进程,多个客户端可以同时连接到同一个Worker进程。
主进程与worker子进程关系
类似于Nginx服务器,由一个master主进程管理多个Worker进程。
Workerman也同样使用了这样的管理方式:
从上面的图中我们可以看到Workerman进程之间的管理方式:
master进程:
Worker进程:
小结:
Workerman的每个Worker维持着各自的客户端连接,通过这种试,我们可以实现很多应用场景,如HTTP服务器、Rpc服务器、一些智能硬件实时上报数据、服务端推送数据、游戏服务器、微信小程序后台等等