swoole是PHP的一個擴展。
簡單理解:swoole=異步I/O+網絡通訊
PHPer能夠基於swoole去實現過去PHP沒法實現的功能。react
①Reactor模型介紹
IO複用異步非阻塞程序使用經典的Reactor模型,Reactor顧名思義就是反應堆的意思,它自己不處理任何數據收發。只是能夠監視一個socket(也能夠是管道、eventfd、信號)句柄的事件變化。Reactor只是一個事件發生器,實際對socket句柄的操做,如connect/accept、send/recv、close是在callback中完成的。
②swoole的架構
swoole採用 多線程Reactor+多進程Worker,由於reactor基於epoll,因此每一個reactor能夠處理無數個鏈接請求。 如此,swoole就輕鬆的處理了高併發。linux
swoole如何實現異步I/O
一種是 普通的worker進程,一種是 task worker進程。
worker進程是用來處理普通的耗時不是太長的請求;task worker進程用來處理耗時較長的請求,好比數據庫的I/O操做。數據庫
workerman與swoole的區別:swoole擴展是用c語言編寫的,不受制於環境,而workerman依賴於linux環境。swoole