开发方式

代码开发

可视化开发

开发资源

代码仓库

Ai编程助手

衍生系统

UTCms

UTForum

文档有错误?
发信:usualtool@qq.com

定位至目录

中间件

中间件需要安装中间件调度扩展,支持普通PHP-FPM、Swoole协程、Workerman同异步。

安装方式:composer require usualtool/ut-middleware

中间件调度器使用方法

1.普通调度
无需安装任何扩展,但并发性能较弱。其为多进程(靠FPM管理),一个请求阻塞不影响其他,适用于传统应用(CMS、博客等)。

2.Swoole协程
需要安装Swoole和ut-swoole扩展。协程+异步I/O(如 Co::sleep),不能使用阻塞函数(如 sleep(),file_get_contents),适用于高并发API、微服务。
拓展:Swoole使用方法

3.Workerman异步
需要安装Workerman或ut-workerman扩展。多进程+异步事件循环,可同步(默认)或异步(配合AsyncTcpConnection),适用于聊天服务器、推送服务、中等并发。
拓展:Workerman使用方法

三种调度方式优缺点对比

维度 普通调度(FPM) Swoole协程模式 Workerman异步
并发模型 多进程(请求隔离) 单进程多协程(事件驱动) 多进程 + 异步事件循环
最大并发能力 低(通常 < 500 RPS) 极高(10,000+ RPS) 高(5,000~10,000 RPS)
内存占用 高(每请求独立进程) 低(常驻内存,复用资源) 中(每个 Worker 独立)
启动开销 高(每次加载框架) 低(Server 启动一次) 低(Worker 启动一次)
I/O 处理 同步阻塞 协程异步(需适配) 默认同步,可异步扩展
是否支持 exit 否(会杀死 Worker)
全局状态安全 安全(无共享) 易污染(需小心) Worker 内共享
开发复杂度 低(标准 PHP) 高(需协程意识)
调试难度 高(协程栈难追踪)
部署要求 任意 LAMP/LNMP 需安装 Swoole 扩展 需 CLI 环境,常驻进程
典型应用 CMS、后台系统、博客 高并发 API、微服务、网关 聊天室、推送、游戏服务器

始于2018年,UT框架版权归原作者所有
开放、包容、发展。 工单 | 团队 | 蜀ICP备2024067013号