• 技术文章 >php框架 >Swoole

    Swoole如何处理高并发

    (*-*)浩(*-*)浩2019-12-07 13:32:03原创1191

    swoole如何处理高并发

    ①Reactor模型介绍 (推荐学习: swoole视频教程

    IO复用异步非阻塞程序使用经典的Reactor模型,Reactor顾名思义就是反应堆的意思,它本身不处理任何数据收发。只是可以监视一个socket(也可以是管道、eventfd、信号)句柄的事件变化。

    Reactor只是一个事件发生器,实际对socket句柄的操作,如connect/accept、send/recv、close是在callback中完成的。

    ②swoole的架构

    swoole采用多线程Reactor+多进程Worker。

    当请求到达时,swoole是这样处理的:

    请求到达 Main Reactor
            |
            |
    Main Reactor根据Reactor的情况,将请求注册给对应的Reactor
    (每个Reactor都有epoll。用来监听客户端的变化)
            |
            |
    客户端有变化时,交给worker来处理
            |
            |
    worker处理完毕,通过进程间通信(比如管道、共享内存、消息队列)发给对应的reactor。
            |
            |
    reactor将响应结果发给相应的连接
            |
            |
        请求处理完成

    因为reactor基于epoll,所以每个reactor可以处理无数个连接请求。 如此,swoole就轻松的处理了高并发。

    以上就是Swoole如何处理高并发的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:Swoole
    上一篇:swoole如何测试 下一篇:swoole如何开启
    大前端线上培训班

    相关文章推荐

    • swoole比php好在哪里• swoole fd是什么• swoole task怎么用• swoole可以做什么

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网