zoukankan      html  css  js  c++  java
  • swoole(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进程数是固定的

  • 相关阅读:
    Redis详解
    Linux常用命令
    sqlserver 游标写法
    Flask总结
    HTTPS协议
    Django REST framework 简介
    Cookie和session
    利用rest-framework编写逻辑关系
    vuex
    jQuery和Bootstrap的优点
  • 原文地址:https://www.cnblogs.com/sentangle/p/12038119.html
Copyright © 2011-2022 走看看