swoole(PHP异步网络通信引擎)的结构和运行流程
2024-10-20 01:41:16
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进程数是固定的
最新文章
- Perl碎碎念
- zabbix 3.0.4 Nginx 性能监控
- Dynamics Webservice Call with Credential
- mongodb 物理删除数据
- Codeforces Round #362 (Div. 2)->;A. Pineapple Incident
- asp 文件上传(无组件上传)
- libpcre.so.1 cannot be found
- Java NIO与IO的差别和比較
- 如何提升 CSS 选择器性能
- PYTHON BS 四大对象
- 苹果cms安装及配置详细教程
- MQTT安装
- Flask 入门一( flask 框架和 flask-script 库)
- php中empty和isset函数
- Redis 模糊匹配 SearchKeys
- CodeForces 316D3 PE Lesson
- StringBuilder与StringBuffer的区别
- Python3爬虫(二)网络爬虫的尺寸与约束
- Distance matrix
- J2EE的十三个技术——EJB之消息驱动JMS