常驻进程
不同于传统php-fpm架构,swoole是常驻进程的,
需要在命令行启动你的php程序.
事件驱动
底层使用epoll
连接池
一般的方法:
先从池子get,
用完后push放回池子.
由于 PHP-FPM 的阻塞等待的工作模型,一个请求会占用至少一个 MySQL 连接,多节点高并发下会产生大量的 MySQL 连接,而 MySQL 的最大连接数默认值为 100,尽管可以修改,但显而易见该模式没法很好的应对高并发的场景。
协程
新版本采用协程,取代老版本的异步.
编程模式
CSP编程模型
通道(Channel)是协程之间通信交换数据的唯一渠道, 而协程+通道的开发组合即为著名的CSP编程模型。
在Swoole开发中,Channel常用于连接池的实现和协程并发的调度。
运行时钩子
SwooleRuntime::enableCoroutine();
推荐使用.
自动把curl,pdo 等变成协程的.
在4.1.0版本中,底层增加一个新的特性,可以在运行时动态将基于php_stream实现的扩展、PHP网络客户端代码一键协程化。底层替换了ZendVM Stream的函数指针,所有使用php_stream进行socket操作均变成协程调度的异步IO。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。