了解 EasySwoole
EasySwoole 是一款基于Swoole Server 开发的常驻内存型PHP框架,专为API而生,摆脱传统PHP运行模式在进程唤起和文件加载上带来的性能损失。EasySwoole 高度封装了Swoole Server 而依旧维持Swoole Server 原有特性,支持同时混合监听HTTP、自定义TCP、UDP协议,让开发者以最低的学习成本和精力编写出多进程,可异步,高可用的应用服务。
项目背景
最早接触Swoole,是2015年年初,为实现一个可以实时控制的多进程爬虫而接触的Swoole,进而为Swoole的各种便捷、高效所着迷。 为此,做了综合技术评审之后,公司决定开始全线推展Swoole,并利用Swoole实现承载每天对外过亿的任务爬取与投递服务。2017年年初,在Rango的鼓励下,我决定将框架进行开源,并在Rango的建议下,命名为EasySwoole。
- 开发效率快
-
极度精简的MV设计模式,创建一个控制器并写入对应方法即可实现访问。用法与TP5、Laravel等主流框架高度一致
- 并发高
-
支持并发百万TCP连接,在基础的Http接口测试中,阿里云单核1G的机器在输出'hello world'的ab测试中,可达12000Qps
- WEB SOCKET/TCP/UDP/UnixSock
-
支持WEB SOCKET、TCP、UDP协议,支持同时存在多种混合协议与跨协议通讯,助力IM、游戏、IOT等行业
- 支持(多)异步任务
-
支持在服务中调用自定义异步任务,将繁重、耗时的任务交由Server异步处理,以提高API响应速度
- T 支持毫秒级定时器
-
无需借助crontab即可实现在多个回调函数内创建多个循环定时器和延时定时器
- EEvent Loop/Process
-
支持添加自定义事件或是Process进程参与Server底层Event Loop循环调度