什么是swoole
- swoole是php的异步、并行、高性能网络通信引擎。使用纯C/c++语言编写,提供了php语言的异步多线程服务器。
- swoole内置了http/websocket服务器端/客户端、http2.0服务器端。
- 异步tcp/udp网络客户端,异步mysql,异步redis数据库连接池,asynctask,稍息队列,毫秒定时,异步文件读写,异步DNS查询。
swoole的功能库
- http服务,可编写一个简单的web服务器
- tcp/udp服务,编写一个消息接受处理系统
- 异步,异步的处理请求
- 并发,并发的处理同一个业务逻辑
- socket,socket通讯
- 毫秒级定时器,可以在PHP中使用定时器了
- 协程,相比线程更稳定好用
swoole的具体使用场景
- 互联网
- 移动通信
- 企业软件
- 云计算
- 网络游戏
- 物联网
- 车联网
- 智能家居等
推荐书籍
- 入门书籍:《tcp/ip网络编程(尹圣雨 韩)》。
- 深入书籍:《unix环境高级编程(中文第三版)》;《unix网络编程卷1:套接字联网》;《unix网络编程卷2:进程间通信》。
题外话
swoole为php提供更多的使用场景和解决性能瓶颈,学习go语言的踏板。
swoole vs workman
swoole是C语言编写,workman是php原生socket编写。swoole的特性如协程workman没有,swoole稳定性好一些。
基于swoole扩展的框架
-
swoft 社区比较活跃
Swoft 首个基于 Swoole 原生协程的新时代 PHP 高性能协程全栈框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现,以类似于同步客户端的写法实现异步客户端的使用,没有复杂的异步回调,没有繁琐的 yield, 有类似 Go 语言的协程、灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等,可以用于构建高性能的Web系统、API、中间件、基础服务等等。 -
easyswoole 相对简单 轻量级
-
swooleDistributed
传统框架和swoole框架
swoole框架主要在性能方面是传统框架的三到五倍,没有性能要求则使用传统框架。
版本
已更新至4.3
swoole3.0以上版本要求php>=7.1
IDE自动提示工具
1swoole官网搜索ide helper
https://github.com/swoole/ide-helper
2下载
3放进任意目录
4
学习swoole 的注意事项
swoole一般是linux环境,window不太支持。
阿里云安全组开放协议、端口。
服务器如有防火墙,开放端口。