码迷,mamicode.com
首页 > Web开发 > 详细

swoole(PHP异步网络通信引擎)的结构和运行流程

时间:2019-12-14 10:10:30      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:包含   出现   请求   connect   之间   接受   流程   客户端连接   php   

swoole结构说明和运行流程

技术图片

主要分为三个部分:

1.Master:swoole的主进程

处理swoole核心的事件驱动, 它包含多个线程(蓝色Reactor), 所有事件的监听都在Reactor实现,如 客户端链接,本地通讯管道,异步操作文件都会在这里注册

2.Manager: 管理进程

用于worker和taker的创建和管理

3.worker和task进程:

worker进程: swoole主逻辑进程,用于处理客户端的请求
task进程:异步工作进程,主要处理耗时长的同步任务

进程与进程之间的通信基于管道来实现的, 当Reactor接受到客户端的数据时, 这些数据通过管道发送给worker进程处理,
当worker需要投递task任务时,也是通过管道来传递.

整个运行流程

一个新客户端连接时 首先会被Main Reactor线程接受到,将这个连接读写操作的监听注册到 新reactor线程当中,并通知worker进程处理相应的connect的回调,如果worker需要投递任务的话,会把数据发送task进程,task进程处理完返回给worker, worker通知reactor发送数据给客户端.

当worker线程出现意外,manager会重新创建一个worker,保证整个流程worker进程数是固定的

swoole(PHP异步网络通信引擎)的结构和运行流程

标签:包含   出现   请求   connect   之间   接受   流程   客户端连接   php   

原文地址:https://www.cnblogs.com/sentangle/p/12038119.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!