很高兴能够正式完成并开源一个基于swoole实现的高性能的mvc的微服务框架。主要的实现功能:
尝鲜地址:https://github.com/bingcool/swoolefy,欢迎star和issue
开发文档:https://www.kancloud.cn/bingcoolhuang/php-swoole-swoolefy/587501
同时也正式在swoole官网的衍开源项目推广栏得到swoole官方推广,包括开发者头条,segmentfault。
swoolefy是一个基于swoole扩展实现的轻量级高性能的常驻内存型的API和Web应用服务框架。swoolefy的设计思想汲取了Tp5,Yii2,workerman,swooole-framework,easyswoole等框架的优秀设计思想,并结合本人多年的技术积累以及实践经验,它一定不是最优秀的框架,但是这是一个适合学习swoole的框架,特别适合中小团队,用过Tp的phper基本都会用,有过Yii2的经验者,那就更容易入手了。
swoolefy底层屏蔽了swoole与传统php-fpm的一些差异,让大部分的phper使用起来可以像使用php-fpm那样,轻松入手
基础特性 - [x] 支持架手脚一键创建项目 - [x] 支持路由映射与调度,MVC三层,多级配置 - [x] 支持composer的PSR-4规范,实现PSR-3的日志接口 - [x] 支持自定义注册不同根命名空间,快速多项目部署 - [x] 支持httpServer,实用轻量Api接口开发 - [x] 支持多协议websocketServer、udpServer、mqttServer - [x] 支持基于tcp实现的rpc服务,开放式的系统接口,可自定义协议数据格式,并提供rpc-client协程组件 - [x] 支持DI容器,组件IOC、配置化,Channel公共组件池 - [x] 支持协程单例注册,协程上下文变量寄存 - [x] 支持mysql、postgreSql协程组件、redis协程组件、mongodb组件 - [x] 支持mysql的协程连接池,redis协程池 - [x] 支持protobuf buffer的数据接口结构验证,压缩传输等 - [x] 支持异步务管理TaskManager,定时器管理TickManager,内存表管理TableManager - [x] 支持自定义进程管理ProcessManager,进程池管理PoolsManger - [x] 支持底层异常错误的所有日志捕捉,支持全局日志,包括debug、info、notice、warning、error等级 - [x] 支持自定义进程的redis,rabbitmq,kafka的订阅发布,消息队列等 - [x] 支持热更新reload worker 监控以及更新 - [x] 支持定时的系统信息采集,并以订阅发布,udp等方式收集至存贮端 - [x] 支持命令行形式高度封装启动|停止控制的脚本,简单命令即可管理整个框架 高级特性 - [x] 支持crontab的local调用和fork独立进程的计划任务 - [x] 支持worker下后台daemon模式的多进程协程消费模型,包括进程自动拉起,进程数动态调整,进程健康状态监控 - [x] 支持console终端脚本模式,跑完脚本自动退出,可用于修复数据、数据迁移等临时脚本功能 - [ ] 支持分布式服务注册(zk,etcd)