衍生开源项目

开发框架

  • Swoft 首个基于 Swoole 原生协程的新时代 PHP 高性能协程全栈框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现,以类似于同步客户端的写法实现异步客户端的使用,没有复杂的异步回调,没有繁琐的 yield, 有类似 Go 语言的协程、灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等,可以用于构建高性能的Web系统、API、中间件、基础服务等等。
  • EasySwoole EasySwoole 是一款基于Swoole Server 开发的常驻内存型PHP框架,专为API而生,摆脱传统PHP运行模式在进程唤起和文件加载上带来的性能损失。EasySwoole 高度封装了Swoole Server 而依旧维持Swoole Server 原有特性,支持同时混合监听HTTP、自定义TCP、UDP协议,让开发者以最低的学习成本和精力编写出多进程,可异步,高可用的应用服务。
  • MixPHP 是一款基于 Swoole 的FPM、常驻内存、协程三模 PHP 高性能框架,MixPHP 秉承 "普及 PHP 常驻内存型解决方案,促进 PHP 往更后端发展" 的理念而创造,采用 Swoole 扩展作为底层引擎,围绕常驻内存的方式而设计,提供了 HTTP / WebSocket / Console 开发所需的众多开箱即用的组件,在其他 Swoole 框架都定位于大中型团队、庞大的 PHP 应用集群的时候,MixPHP 决定推动这项技术的普及,我们定位于众多的中小型企业、创业型公司,我们将 Swoole 的复杂度封装起来,用简单的编码方式呈现给用户,让更多的中级程序员也可打造高并发系统,努力让 Swoole 不再只是高级程序员的专利。
  • SwooleDistributed SwooleDistributed 老牌Swoole框架拥有最完善的开发工具以及最强大的功能,首创SDHelper开发者工具包和开发者调试命令集,可以进行单元测试,捕获客户端流量分析,可视化的进行远程断点联调,还具备代码覆盖率检测的功能(swoole与xdebug扩展不兼容,SDHelper无需xdebug扩展),并且内置组件极其丰富(类MQTT强悍的订阅发布/Actor模型/内存高速缓存/事件派发/进程管理/定时任务/AMQP任务调度/后台监控/集群/微服务/RPC/异步连接池/自定义命令等等),开发者可以直接使用加快开发进度。几乎所有的功能都支持集群化,单机切换到集群无需对代码做任何的修改。如果业务开发比较复杂比如(游戏开发)那么SD框架将是你的不二之选。 衍生开源项目 - 图1 衍生开源项目 - 图2 衍生开源项目 - 图3
  • 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下有完整的代码提示,相较于其他框架我们有完善的协程数据库和缓存引擎哦!

服务器

  • 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,可以跟任意框架集成

应用项目

  • SMProxy 一个基于mysql协议,swoole 开发的mysql数据库连接池。将数据库连接作为对象存储在内存中,当用户需要访问数据库时,首次会建立连接,后面并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。超出最大连接数会采用协程挂起 等到有连接关闭再恢复协程继续操作。能够大幅度降低数据库压力,提升数据库操作效率。
  1. 支持读写分离
  2. 支持数据库连接池,能够有效解决PHP带来的数据库连接瓶颈
  3. 支持SQL92标准
  4. 遵守Mysql原生协议,跨语言,跨平台的通用中间件代理。
  5. 支持多个数据库连接,多个数据库,多个用户,灵活搭配。
  6. 支持mysql事物
  7. 采用协程调度
  8. 支持 HandshakeV10 协议版本
  9. 完美兼容mysql5.6-5.7
  10. 兼容各大框架,无缝提升性能
  • zchat 基于zphp框架和swoole扩展开发的PHP网页即时聊天室系统。
  • PHPWebIM 基于swoole扩展开发的websocket网页聊天系统
  • swoole_flash_game 基于swoole扩展开发的flash游戏,可与服务器实时交互
  • statistics 一个运用php与swoole实现的统计监控系统
  • swoole-bot基于swoole实现的微信机器人,依赖vbot和微信网页版的功能,帮助管理微信群/聊天/踢人等
  • vbot 基于web api打造的微信机器人,可以通过配置开启 swoole,便可打造自己的个性化微信客户端

微服务框架

  • SwooleDistributed 2.0版本为微服务框架,具有服务注册中心,可以发布服务,监测服务状态,进程内的负载均衡,同时具有熔断,降级等保护服务的高级功能。服务健康状态,上下线服务自动感知,可以通过RPC或者HTTP与其他服务器进行交互。如果服务中断框架会自动将请求迁移到可用的服务上,尽量保证高可用性,性能更是优秀。通过版本管理还可以支持灰度发布。
  • 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中,同时可以很简单的支持Swool 4.0协程与非协程,自带mysql,redis连接池,可以使用Yii2的全栈框架来开发HTTP,WebSocket等网络服务。

  1. 如果您有基于swoole开发新的开源项目,可以联系我们。将你的开源项目加入swoole官方推荐列表中。