衍生开源项目
开发框架
- Hyperf Hyperf 是基于 Swoole 4.4+ 实现的高性能、高灵活性的 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM 的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均基于 PSR 标准 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换 与 可复用 的。
- Swoft Swoft 是一款基于 Swoole 扩展实现的 PHP 微服务协程框架。Swoft 能像 Go 一样,内置协程网络服务器及常用的协程客户端且常驻内存,不依赖传统的 PHP-FPM。有类似 Go 语言的协程操作方式,有类似 Spring Cloud 框架灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等。Swoft 通过长达三年的积累和方向的探索,把 Swoft 打造成 PHP 界的 Spring Cloud, 它是 PHP 高性能框架和微服务治理的最佳选择。
- MixPHP 是一款基于 Swoole 的 FastCGI、常驻内存、协程三模 PHP 高性能框架,MixPHP 秉承 "普及 PHP 常驻内存型解决方案,促进 PHP 往更后端发展" 的理念而创造,采用 Swoole 原生协程与最新的 PHP Stream 一键协程化技术,提供了 Console / Daemon / HTTP / WebSocket / TCP / UDP 开发所需的众多开箱即用的组件,在其他 Swoole 框架都定位于大中型团队、庞大的 PHP 应用集群的时候,MixPHP 决定推动这项技术的普及,我们定位于众多的中小型企业、创业型公司,我们将 Swoole 的复杂度封装起来,用简单的编码方式呈现给用户,让更多的中级程序员也可打造高并发系统,努力让 Swoole 不再只是高级程序员的专利。
- Swoolefy 基于swoole扩展实现的轻量级高性能的API和Web应用服务框架,高度整合http,websocket,udp服务器,以及基于tcp实现可扩展,自定义协议的rpc服务器,同时支持composer包方式快速部署项目。基于易用,swoolefy抽象Event事件处理类,实现与底层的回调的解耦,专注逻辑业务,支持协程单例,自定义进程,内置view、Log、session、mysql、redis、memcached、mongodb,mailer等常用组件。
- Lawoole 基于 Laravel 和 Swoole 的高性能 PHP 框架。借助 Swoole 的高性能特点,弥补了 Laravel 的性能缺陷。在大幅提升程序运行速度的情况下,能够使用到绝大部分 Laravel 中优秀的特性。在 Lawoole 中,你可以拥有与 Laravel 一致的开发体验,编写那些富有创造力的代码。
- CabalPHP 基于Swoole的轻量、高效、全异步开源框架,自动生成API接口文档,IDE下有完整的代码提示,相较于其他框架我们有完善的协程数据库和缓存引擎哦!
- imi 是基于 PHP Swoole 的高性能协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 服务的开发。在 Swoole 的加持下,相比 php-fpm 请求响应能力,I/O密集型场景处理能力,有着本质上的提升。imi 框架拥有丰富的功能组件,可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。
- Fast-Laravel 基于
Swoole
的高性能Laravel
框架加速扩展。利用Swoole
的特性,提升Laravel
的响应性能。基本上在无须变更项目代码的前提下使程序从传统的php-fpm
运行模式蜕变成常驻内存模式。(初衷是为了提升老项目响应速度,作为过渡。新项目建议用专业的协程框架)
服务器
- MyQEE-Server 将swoole服务和功能对象抽象化,为每个 Worker、Task、多端口分配一个对象,带来全新的编程体验让代码清晰有条理,适合多端口以及Http、WebSocket、Tcp混合的应用服务器开发,支持创建大文件、断点、分片上传的Http服务器
- EPServer 高性能TCP服务器框架,底层基于swoole扩展
- WebSocket & WebIM
- Upload-Server 基于swoole扩展开发的,高性能TCP文件上传服务器,是全异步非阻塞多进程的。可同时支持数万个TCP客户端连接,上传文件。
- php-queue PHP开发的磁盘存储消息队列服务,基于leveldb和swoole,在4核机器上处理能力可以达到2.5W/s
- PtWebserver PtWebserver 基于php swoole 扩展的高性能web 服务器。应用对象常驻内存,不用重复创建对象,提高响应时间与性能
- swoole-jobs swoole-jobs,基于swoole的job调度组件,支持composer,可以跟任意框架集成
- processManager 常驻多进程任务管理框架,适用于多种业务对接,内部提供第三方扩展钩子让您更方便融入到业务框架中。
应用项目
- SMProxy 一个基于mysql协议,swoole 开发的mysql数据库连接池。将数据库连接作为对象存储在内存中,当用户需要访问数据库时,首次会建立连接,后面并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。超出最大连接数会采用协程挂起 等到有连接关闭再恢复协程继续操作。能够大幅度降低数据库压力,提升数据库操作效率。
支持读写分离
支持数据库连接池,能够有效解决PHP带来的数据库连接瓶颈
支持SQL92标准
遵守Mysql原生协议,跨语言,跨平台的通用中间件代理。
支持多个数据库连接,多个数据库,多个用户,灵活搭配。
支持mysql事物
采用协程调度
支持 HandshakeV10 协议版本
完美兼容mysql5.6-5.7
兼容各大框架,无缝提升性能
- open-smf/connection-pool 基于Swoole的通用连接池,一般用作数据库连接池。
- zchat 基于zphp框架和swoole扩展开发的PHP网页即时聊天室系统。
- PHPWebIM 基于swoole扩展开发的websocket网页聊天系统
- swoole_flash_game 基于swoole扩展开发的flash游戏,可与服务器实时交互
- statistics 一个运用php与swoole实现的统计监控系统
- swoole-bot基于swoole实现的微信机器人,依赖vbot和微信网页版的功能,帮助管理微信群/聊天/踢人等
- vbot 基于web api打造的微信机器人,可以通过配置开启 swoole,便可打造自己的个性化微信客户端
微服务框架
- Group-Co 优雅的异步协程框架,并内置分布式服务化体系,可以根据自身架构需求自定义实现服务的上下线,监控,发布等等。
HTTP 应用框架
zhttp 基于swoole+generator的异步非阻塞轻量级web框架(api和web皆可),内置mysql、redis、memcached、mongodb全套异步客户端的连接池,内置http异步客户端,近乎同步的写法,却是异步的调用,性能强悍
FastD 适用于对性能有要求的 API 场景,并且灵活的扩展性可以让开发者们更容易地建造自己的服务。支持HTTP、TCP、UDP、WebSocket,简单,易用。
LaravelS 基于Swoole加速Laravel/Lumen,常驻内存,内置HTTP/WebSocket Server,支持TCP/UDP Server、自定义进程、异步的事件监听、异步任务队列、毫秒级定时任务、平滑Reload,与Nginx配合搭建高可用分布式服务器群,开箱即用。
Yii2-Swoole 支持基于Yii2框架运行于Swoole中,同时可以很简单的支持Swoole 4.0协程与非协程,自带mysql,redis连接池,可以使用Yii2的全栈框架来开发HTTP,WebSocket等网络服务。
如果您有基于swoole开发新的开源项目,可以联系我们。将你的开源项目加入swoole官方推荐列表中。