10

前言

swoole是什么?官网的原话介绍是这样的:

Swoole 使用纯 C 语言编写,提供了 PHP 语言的异步多线程服务器,异步 TCP/UDP 网络客户端,异步 MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。

除了异步 IO 的支持之外,Swoole 为 PHP多进程的模式设计了多个并发数据结构和IPC通信机制,可以大大简化多进程并发编程的工作。其中包括了并发原子计数器,并发HashTable,Channel,Lock,进程间通信IPC等丰富的功能特性。

Swoole2.0 支持了类似 Go 语言的协程,可以使用完全同步的代码实现异步程序。PHP代码无需额外增加任何关键词,底层自动进行协程调度,实现异步。

swoole可以说重新定义了php,为php社区注入了新的活力,打破了php开发的局限性,如Unix系统编程、网络通信编程、异步io等。随着swoole的持续发展和壮大,目前已经出现了很多基于Swoole开发的常驻内存型的API和Web应用服务框架,如EasyswooleSwoftSwooleDistributedSwoolefy 等。

笔者对于Easyswoole和Swoft有着浓厚的兴趣,目前会选择Easyswoole框架进行学习,当然,如果你对Swoft有兴趣,建议阅读官方文档 或者 Swoft源码解析

EasySwoole 官方说明:

EasySwoole 是一款基于Swoole Server 开发的常驻内存型的分布式PHP框架,专为API而生,摆脱传统PHP运行模式在进程唤起和文件加载上带来的性能损失。EasySwoole 高度封装了 Swoole Server 而依旧维持 Swoole Server 原有特性,支持同时混合监听HTTP、自定义TCP、UDP协议,让开发者以最低的学习成本和精力编写出多进程,可异步,高可用的应用服务。

EasySwoole 有着比较完善的文档和使用实例,框架作者也很活跃,时常在交流群中为大伙答疑(嗯,估计快被我们这些路人弄疯了)。EasySwoole 易用稳定,本次想通过对Easyswoole的学习和个人解析,吸收框架的思想和设计知识,加强自己对swoole的认知和理解。当然,笔者能力水平有限,后续的文章如有错误,还请指出和谅解。

后续文章假定读者水平为中级PHPer,有着Yii,Laravel,Phalcon等至少一个流行框架完整的使用体验,能理解常见Web框架使用到的概念,对swoole拓展有一定的认知和了解。

目录如下(后续添加文章都会记录在此):

  1. EasySwoole 服务启动过程以及主体设计流程源码解析

......


geekuzzw
160 声望20 粉丝