Wind Framework PHP 协程框架开源项目

我要开发同款
匿名用户2021年02月01日
29阅读
开发技术PHP
所属分类开发工具、PHP开发工具
授权协议Apache

作品详情

    WindFramework 是一款纯 PHP 的协程框架,适用于高并发的 Web、Rest 接口、后端服务、任务处理等等。

        基于此框架,可以使用纯PHP做到一个完全自足型的PHP程序。

        传统的php-fpm做法,PHP的应用场景非常有限,很多功能需要依赖周边工具做到,比如计划任务通过crontab来设置,消息队列可能以计划任务每分钟启动来执行,或通过进程的守护Supervisord来做一个很拙劣的长驻,基于对于数据库之类的连接数暴涨也要使用一些中间件,还有很多场景甚至是束手无策或者实现非常之差,php-fpm碰到高并发时,实际并发数受到进程数的限制,想要把并发数做大实际付出也非常之大,所以往往企业规模做大,或者业务场景复杂之后都要引入其它语言的方案,这表面上是因为其它语言的生态问题,核心还是因为其它语言支持多线程或协程这两个重要的特性。

        而基于纯PHP的协程框架,PHP可以用相对非常少的资源实现以上的这些功能。

该框架是基于两个最重要的库实现的。

Workerman提供了Socket服务器、客户端,进程管理,Channel等基础组件。

Amphp提供了纯PHP的协程实现,以及协程的MySQL、Http客户端等等。

目前框架拥有以下组件:

HTTP服务器(支持基于控制器路由的动态程序和静态文件)

依赖注入

缓存(实现PSR-16SimpleCache的协程缓存)

进程信息收集组件

定时任务组件

协程MySQL客户端、支持连接池、查询构造器

日志组件(基于MonoLog,支持异步写入)

自定义进程组件

异步消息队列组件(支持Redis、Beanstalk作为驱动)

协程Redis客户端

TaskWorker(可将同步调用发到其它进程为异步调用)

视图组件(支持Twig等多种实现)

        PHP从7.0开始大幅度提升了PHP的性能,从8.0开始又加入了JIT又能够大大提升程序的运算性能,这些性能的提升对于传统的php-fpm意义并不是很大,应用在长驻式的协程框架中才能把威力彻底发挥出来。

        而根据目前的PHP相关讨论和提案,很可能会在8.1版本开始引入官方的协程实现基础。到时候Wind-Framework也会及时跟进。

Wind-FrameworkGitHub地址:https://github.com/wind-framework

Composer包:https://packagist.org/packages/wind-framework/

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论