皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Camera360 开源基于 Swoole 的协程企业级微服务框架

php-msf

今日 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

帮助完善文档: https://github.com/pinguo/php-msf-docs,请提交 PR。

转自 http://www.oschina.net/news/88479/camera360-open-source-php-msf

分享到:更多 ()