Swoole 是一个为 PHP 用 C 和 C++ 编写的基于事件的高性能异步 & 协程并行网络通信引擎
使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。
- Swoole 是一个 PHP 的扩展, 是由 C/C++ 编写
- Swoole 是基于 事件 的高性能异步 & 协程并行的网络通信引擎
- 什么是事件?
1 | 鼠标和键盘点击事件,某一刻发生的动作简称:事件 |
- 异步 & 协程并行
1
程序执行的方式,可以详细的了解下 网络 IO 模型
- 网络通信引擎
1
网络就是程序之间的数据交互的连接,从而达到资源共享和通信的目的。通信是人与人之间通过某种媒体进行的信息交流与传递。网络通信是通过网络将各个独立的设备进行连接,通过信息交换实现人与人,人与计算机,计算机与计算机之间的通信,网络通信最重要的就是网络通信协议。例如:TCP 服务器、TCP 客户端、UDP 服务、HTTP 服务、WebSocket
Swoole 具备什么能力
- 事件驱动的异步编程模式
- 异步TCP/UDP/HTTP/WebSocket/HTTP2协议的服务器端/客户端
- 支持IPv4/IPv6/UnixSocket/TCP/UDP
- 支持SSL/TLS隧道加密
- 支持并发百万TCP长连接
- 支持毫秒定时器
- 支持异步/同步/协程
- 支持CPU亲和性设置/守护进程
基于 Swoole 框架 & 组件
- Hyperf 是一个高性能、高灵活性的协程框架,存在丰富的可能性,如实现分布式中间件,微服务架构等
- Swoft 是一个现代化的面向切面的高性能协程全栈组件化框架
- Easyswoole 是一个极简的高性能的框架,让代码开发就好像写echo “hello world”一样简单
- MixPHP 是一个功能强大的单线程协程框架,轻量、简单而优雅
Swoole 的应用场景
- 移动互联网API服务器
- 物联网(IOT)
- 微服务(Micro Service)
- 高性能Web服务
- 游戏服务器
- 在线聊天系统
配合传统型框架比如 laravel,thinkphp6.0进行加速(注意这些框架是ioc容器为核心的)