前言什么是swoole?官网原文介绍如下:Swoole纯C语言编写,提供PHP语言的异步多线程服务器、异步TCP/UDP网络客户端、异步MySQL、异步Redis、数据库连接池、AsyncTask、消息queue、毫秒Timer、异步文件读写、异步DNS查询。Swoole内置了Http/WebSocketserver/client,Http2.0server。除了异步IO的支持,Swoole针对PHP多进程模式设计了多种并发数据结构和IPC通信机制,可以大大简化多进程并发编程的工作。包括并发原子计数器、并发HashTable、Channel、Lock、进程间通信IPC等丰富的功能特性。Swoole2.0支持类似于Go语言的协程,可以用完全同步的代码实现异步程序。PHP代码无需额外添加任何关键字,底层自动进行协程调度,实现异步。Swoole可以说是重新定义了php,为php社区注入了新的活力,打破了php开发在Unix系统编程、网络通信编程、异步io等方面的局限性。随着swoole的不断发展壮大,出现了很多基于Swoole开发的常驻内存API和Web应用服务框架,如Easyswoole、Swoft、SwooleDistributed、Swoolefy等。笔者对Easyswoole和Swoft有着浓厚的兴趣,目前选择Easyswoole框架进行学习。当然,如果你对Swoft感兴趣,建议阅读官方文档或者Swoft源码分析。EasySwoole官方介绍:EasySwoole是基于SwooleServer开发的常驻内存分布式PHP框架。专为API设计,摆脱了传统PHP运行方式在进程唤醒、文件加载等方面带来的性能损失。EasySwoole对SwooleServer进行了高度封装,仍然保持了SwooleServer原有的特性。它支持同时监控HTTP、自定义TCP和UDP协议,允许开发人员以最低的学习成本和工作量编写多进程、异步和高可用的应用程序。服务。EasySwoole有比较完善的文档和使用示例,框架作者也很活跃,经常在交流群里为大家答疑解惑(嗯,估计我们路人都快疯了)。EasySwoole易于使用且稳定。这次想通过Easyswoole的学习和亲身分析,吸取框架的思想和设计知识,加强自己对swoole的认知和理解。当然,作者的能力水平有限。后续文章如有错误,敬请指出,见谅。后续文章假设读者是中级PHPer,对Yii、Laravel、Phalcon等至少一种流行框架有完整的使用经验,能理解常用web框架使用的概念,对swoole扩展有一定的了解.目录如下(后续添加的文章会记录在这里):EasySwoole服务启动流程及主要设计流程源码分析...
