
今日 Camera360 正式开源其 PHP 微服务框架——Micro Service Framework For PHP,这是 Camera360 社区服务器端团队基于 Swoole 自主研发现代化的 PHP 协程服务框架,简称 msf 或者 php-msf,是 Swoole 的工程级企业应用框架,经受了 Camera360 自拍相机亿级用户高并发大流量的考验。
php-msf 由 Camera360 服务器团队主导研发,会持续更新与维护,也希望有更多优秀的 Swoole 应用实践开发者加入。php-msf 核心设计思想是采用协程、异步、并行的创新技术手段提高系统的单机吞吐能力,降低整体服务器成本。
由于 Swoole 复杂的进程模型,php-msf 为了屏蔽低层的差异,做了大量的工作,实现和传统 MVC 框架的唯一区别在于添加“yield”关键字。同时也参考了 Yii2 框架的部分代码实践,期望使用者可以无缝的从 Yii2 开发切换过来。
框架定位
专注打造稳定高性能纯异步基于 HTTP 的微服务框架,作为 nginx+php-fpm 的替代技术栈实现架构的微服务化; 而 Tcp/WebSocket Server 将作为插件的形势支持,或者作为其他独立的开源项目。
对于小型团队或者业务系统我们建议还是采用传统的 nginx+php-fpm 技术栈,对于成本和性能来说没有瓶颈,也就完全没有必要引入全新的技术栈。
对于大中型团队或者业务系统,处在服务治理或者服务化演进的重要阶段,php-msf 是可选方案之一。
对于庞大的 PHP 应用集群,想要大幅节约服务器成本,提升服务性能,php-msf 是可选方案之一。
对于聚合服务,比如大型的网站首页,想要通过服务器端聚合内容整合数据,php-msf 是可选方案之一。
主要特性
- 精简版的 MVC 框架
- IO 密集性业务的单机处理能力提升 5-10 倍
- 代码常驻内存
- 支持对象池
- 支持 Redis 连接池、MySQL 连接池
- 支持 Redis 分布式、master-slave 部署结构的集群
- 支持异步、并行
- 基于 PHP Yield 实现协程
- 内建 http/redis/mysql/mongodb/task 等协程客户端
- 纯异步的 Http Server
- RPC Server/Client
- 支持命令行模式
- 支持独立进程的定时器
- 支持独立配置进程环境要求
环境要求
- Linux,FreeBSD,MacOS(有兼容问题)
- Linux 内核版本 2.3.32 以上 (支持 epoll)
- PHP-7.0 及以上版本(生产环境建议使用 PHP-7.1)
- gcc-4.4 以上版本
- swoole-1.9.15 及以上版本(暂不支持 Swoole-2.0)
- hiredis-0.13.3
- yac
- phpredis
- composer
文档
框架手册 (Gitbook): PHP-MSF 开发手册
API Document(Rawgit): 类文档
示例 DEMO 项目: PHP-MSF DEMO
帮助完善文档: http://ift.tt/2j7ljTa,请提交 PR。
转自 http://ift.tt/2eJEHkd
The post Camera360 开源基于 Swoole 的协程企业级微服务框架 appeared first on Linuxeden开源社区.
http://ift.tt/2j5kFW6
没有评论:
发表评论