php的春天,swoole处理高并发

2018-09-27 18:06:04 978 思小齐 思小齐
  1. swoole介绍

    swoole是PHP的一个扩展。
    简单理解:swoole=异步I/O+网络通信
    PHPer可以基于swoole去实现过去PHP无法实现的功能。

  2. swoole如何处理高并发

    ①Reactor模型介绍
    IO复用异步非阻塞程序使用经典的Reactor模型,Reactor顾名思义就是反应堆的意思,它本身不处理任何数据收发。只是可以监视一个socket(也可以是管道、eventfd、信号)句柄的事件变化。Reactor只是一个事件发生器,实际对socket句柄的操作,如connect/accept、send/recv、close是在callback中完成的。
    ②swoole的架构
    swoole采用 多线程Reactor+多进程Worker,因为reactor基于epoll,所以每个reactor可以处理无数个连接请求。 如此,swoole就轻松的处理了高并发。

  3. 列表项目

    swoole如何实现异步I/O
    一种是 普通的worker进程,一种是 task worker进程。
    worker进程是用来处理普通的耗时不是太长的请求;task worker进程用来处理耗时较长的请求,比如数据库的I/O操作。

    workerman与swoole的区别:swoole扩展是用c语言编写的,不受制于环境,而workerman依赖于linux环境。