workerman 工作流程,如进程,子进程,socket等关系,workerman是如何运作的?

workerman 工作流程,如进程,子进程,socket等关系,workerman是如何运作的?
2014-08-15 11:06 添加评论 分享
已邀请:

最佳回复

7
workerman有两种进程模型
1、基本的master worker模型
2、master gateway worker模型

master worker模型工作流程及进程间关系如下:

master worker

master worker模型说明:
master进程为主进程,启动过程中读取conf配置,根据每个应用配置中的ip和端口创建监听socket,然后再根据配置中的进程数创建对应数量的子进程即worker进程,worker进程会自动继承master进程创建的监听socket,使得worker进程能够独立的接受并处理客户端的连接。而后master进程进入监听信号的逻辑中,监听worker进程退出信号(worker进程退出后,系统会自动向master进程发送一个SIGHCLD信号,mater进程会重新创建子进程,将缺失的子进程补上),master进程还会监听workermand脚本发来的停止信号(SIGINT)和平滑重启服务信号(SIGHUP)

worker进程为master进程派生出来的子进程,自动继承了master进程的监听socket,每个worker进程独立的接受并处理客户端的连接。

master worker模型比较适合业务简单的应用或者短连接应用

master gateway worker模型工作流程和进程间关系如下:
master worker

master gateway worker 模型说明:
这种模型多了一个gateway进程组,工作流程与master worker模型基本相同,区别是worker进程不再直接与客户端打交道,客户端与worker进程之间多了一个gateway进程,gateway专职处理网络IO,并维护客户端的长连接。

master gateway worker 模型非常适合长连接应用

这里有一个之前写的一个关于server模型及php实现的的ppt,发给大家参考下(仅供参考)

Server模型及PHP实现.pdf
0

小玉儿

赞同来自:

能下载吗???
0

walkor

赞同来自:

。。。
在连接上点击右键,选择连接另存为
0

workercat - 80hou IT boy

赞同来自:

问题一:workman 代码包就是 master worker 模型?
问题二:$worker->count = 4 , 是指 worker 进程的数量?
0

walkor

赞同来自:

@workercat 是的

要回复问题请先登录注册

退出全屏模式 全屏模式 回复