swoole学习第六讲(swoole的进程模型)

参考自: https://linkeddestiny.gitbooks.io/easy-swoole/content/book/chapter02/worker.html

Swoole进程模型

首先,我们需要了解一下Swoole的进程模型。Swoole是一个多进程模式的框架(可以类比Nginx的进程模型),当启动一个Swoole应用时,一共会创建2 + n + m个进程,其中n为Worker进程数,m为TaskWorker进程数,2为一个Master进程和一个Manager进程,它们之间的关系如下图所示。

其中,Master进程为主进程,该进程会创建Manager进程、Reactor线程等工作进/线程。

  • Reactor线程实际运行epoll实例,用于accept客户端连接以及接收客户端数据;
  • Manager进程为管理进程,该进程的作用是创建、管理所有的Worker进程和TaskWorker进程。
Worker进程简介

Worker进程作为Swoole的工作进程,所有的业务逻辑代码均在此进程上运行。当Reactor线程接收到来自客户端的数据后,会将数据打包通过管道发送给某个Worker进程

Worker进程生命周期

一个Worker进程的生命周期如图所示:
当一个Worker进程被成功创建后,会调用onWorkerStart回调,随后进入事件循环等待数据。当通过回调函数接收到数据后,开始处理数据。如果处理数据过程中出现严重错误导致进程退出,或者Worker进程处理的总请求数达到指定上限,则Worker进程调用onWorkerStop回调并结束进程。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前文再续,就书接上一回,随着与Server、TCP、Protocol的邂逅,Swoole终于迎来了自己的故事,今天...
    蜗牛淋雨阅读 1,776评论 1 14
  • 前言 前文再续,就书接上一回,随着与Server、TCP、Protocol的邂逅,Swoole终于迎来了自己的故事...
    零一间阅读 5,305评论 0 17
  • 本文示例代码详见:https://github.com/52fhy/swoole_demo。 简介 Swoole是...
    jiancaigege阅读 844评论 1 6
  • 进程基本概念 狭义定义:进程是正在运行的程序的实例(an instance of a computer progr...
    zshanjun阅读 775评论 1 0
  • 最近人工智能时代似乎呼之欲来,无人机,无人驾驶,自动翻译,阿尔法棋局大胜等等,一个崭新的时代已经拉开了序幕。 而随...
    古树青峰阅读 230评论 0 1