💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
>[info] Easy Swoole 是什么 **官方地址:** https://www.easyswoole.com/ ![](https://img.kancloud.cn/c6/32/c63226efd99c7cde858447eb485bdc43_733x180.png) EasySwoole 是一款基于 Swoole Server 开发的常驻内存型的分布式 PHP 框架,专为 API 而生,摆脱传统 PHP 运行模式在进程唤起和文件加载上带来的性能损失。 EasySwoole 高度封装了 Swoole Server 而依旧维持 Swoole Server 原有特性,支持同时混合监听 HTTP、自定义 TCP、UDP 协议,让开发者以最低的学习成本和精力编写出多进程、可异步、高可用的应用服务。 >[info] Easy Swoole 特性 * 强大的 TCP/UDP Server 框架,多线程,EventLoop,事件驱动,异步,Worker 进程组,Task 异步任务,毫秒定时器,SSL/TLS 隧道加密 * EventLoop API,让用户可以直接操作底层的事件循环,将 Socket、Stream、管道等 Linux 文件加入到事件循环中 * 定时器、协程对象池、HTTP/SOCKET 控制器、分布式微服务、RPC 支持 >[info] Easy Swoole 优势 * 简单易用开发效率高 * 并发百万 TCP 连接 * TCP/UDP/UnixSocket * 支持异步/同步/协程 * 支持多进程/多线程 * CPU 亲和性/守护进程 >[info] 组件列表 目前EasySwoole3.x开源组件如下: * validate 验证组件 * http http组件,实现了对http控制器的调度封装等 * mysqli 协程版mysqli组件 * rpc rpc组件,可实现rpc分布式 * socket socket组件,实现了对tcp/udp的控制器调度 * trace trace组件,代码追踪 * component 基础组件库 * utility 工具类库 * verifyCode 验证码生成组件 * spl spl组件 * curl curl组件 >[info] EasySwoole运行步骤 **EasySwoole的框架运行步骤大概为以下几步:** * 从php easyswoole start开始,首先进行了目录常量定义,临时目录,日志目录定义, * 触发`initialize`,这个事件你可以进行一些服务注册,修改临时目录,日志目录等 * 获取框架配置,监听ip,端口,worker进程数,子服务配置,回调等,准备开启swoole服务 * 触发`mainServerCreate`,这个事件你可以自行重新配置监听ip,端口,回调事件,框架异常,等等 * 框架根据配置,启动swoole服务,附带子服务(如果有配置的话) 到这个时候,框架已经是启动成功了,由于swoole_server的特性,开启之后会常驻内存(进程会一直运行,可以理解成一直在while(1){}),等待请求进入然后回调。 ***** **用户请求步骤:** * 用户请求 * swoole_server触发回调事件,经过框架解析 * 触发`onRequest`(http服务时),`onReceive`(tcp服务时) * 经过http组件的调度,调用控制器方法完毕 * 触发`afterRequest`事件,表明这次请求已经要结束 * es将响应数据交回给swoole_server,给客户端响应数据 >[info] Demo EasySwoole框架:[https://github.com/easy-swoole/demo](https://github.com/easy-swoole/demo)