查看原文
其他

重磅丨科技教育公司“好未来”正式对外开源高性能PHP框架Fend

好未来技术 好未来技术 2023-03-15

好未来是一家以智慧教育和开放平台为主体,以素质教育和课外辅导为载体,在全球范围内服务公办教育,助力民办教育,探索未来教育新模式的科技教育公司。

截至目前,好未来集团已围绕教育场景需求,累计研发包括图像、语音、数据挖掘、自然语言处理等8大类型、100多项AI能力,打造10余项教育场景应用AI解决方案。

在技术不断提升的道路上,好未来技术线提出坚持“大中台、小前台”的技术战略,统一基础服务设施建设,推进公司技术组件落地,增强企业技术人才内生,不断提升企业的技术实力及技术影响力。

除此之外,好未来内部坚持开源共享,通过“开放、共享、合力开发”的模式,推动开源文化氛围的形成与技术组织变革,为中台建设提供了另外一种抓手。同时通过开源文化的建设,促进整个教育生态技术共享,提升教育科技实力,更好的为“科技与爱让教育更美好”的愿景奠定基础。

近期由“好未来”技术团队开源的高性能PHP框架Fend PHP正式上线!该框架单机QPS可达到4000个,好未来内部目前超过30个团队项目在使用该PHP框架!




前言


PHP是一款简单方便的语言,而行业开源框架为了后续灵活 而变得过于繁重。

Fend框架是一款很有历史的框架、初代发布后一直在好未来坊间传播使用、衍生出大量分支版本。

这是一款很有意思的框架,普通的框架内隐藏着大型互联网经验的精华,也同时存在大量历史痕迹。

2019年7月好未来技术团队小伙伴对Fend进行整理、封装、推广,目前在好未来内部有大量的用户在使用、维护。

好未来技术团队崇尚 脚踏实地、仰望星空 的精神。

欢迎大家Star该项目,也欢迎大家提交PR或者参与改进Fend框架!



设计方向



Fend 框架是一款以企业快速实现业务为主要目标的框架,与复杂的行业流行框架追求不同:

  • 简单实用:追求快速上手,扩展功能一步到位、大量降低功能的复杂度、框架更注重简单实用实现。

  • 单层内核:追求一个函数能实现的功能绝不继承封装,不追求框架自身功能的继承可复用。

  • 内聚归类:高度集中归类功能,降低底层复杂度,减少底层组件关注度、让过程更多时间在业务。

  • 持续积累:持续积累大型互联网线上运营经验,持续探索企业实用技巧。

  • 内核设计:高内聚简单内核,放开业务自封装空间,留下更多空间给业务

  • 开源心态:开放公开,接受任何符合价值观源码奉献,但有严格代码审核


功能简介



  • Swoole/FPM 双引擎平滑切换

  • 统一使用 Composer Autoload PSR4

  • 请求Debug 模式,请求网址wxdebug=1可查看debug模式查看异常分析性能

  • 协程模式下对变量域做了更好的封装,降低协程使用难度

  • 支持压测使用灰度影子库

  • 高速map映射路由 + FastRouter正则路由

  • 符合大数据挖掘设计的Trace日志,方便ELK分析、ClickHouse、HBase、实时预警

  • throw new Exception方式处理业务异常、能够快速发现异常



性能压测



目前是在KVM虚拟机上压测、后续根据项目实际情况将会采取云等进行压测。



FPM性能



服务器配置

  • CPU 4 核 Xeon 2.2

  • 内存 12G

  • KVM + CentOS 7.6

  • FPM 开启进程数 500



QPS 5331 (分析:fpm空跑hello 1w、引入composer autoload 后 7000、开启日志trace 6000、框架内echo 5000)



Swoole 1.10.x 性能



服务器配置

  • CPU 4 核 Xeon 2.2

  • 内存 12G

  • KVM + CentOS 7.6

  • FPM 开启进程数 500




发行版本介绍



Fend有两个版本

  • Tag版本为 1.2.x FPM/Swoole 1.10.x 平滑切换版本

  • Tag版本为 1.3.x FPM/Swoole 4.5.x Coroutine 协程 平滑切换版本 此版本还在调整



以下为1.2.x版本安装



FPM Engine Start

master is 1.2.x version

Ref nginx.conf to configure Nginx and http://127.0.0.1/ on browser


Swoole Engine Start

browser http://127.0.0.1:9572/



1.3.0协程版本 安装





开源项目作者列表



(其他贡献者、请详见文档鸣谢)



合作伙伴



好未来教育集团90%在线业务在使用本框架




共建规则



欢迎挑战组件功能、允许同类功能同时发布竞争、以 性能好 + 实用及实现简单 + 功能实用 评判



开源项目地址



issue:https://github.com/tal-tech/fend/issues

Fend PHP地址:https://github.com/tal-tech/fend


目前已有百级技术大佬star该项目

有兴趣的技术同行可加微信进沟通群:


- End -



  1. 也许你还想看

    DStack--基于flutter的混合开发框架

    WebRTC源码分析——视频流水线建立(上)

    "考试"背后的科学:教育测量中的理论与模型(IRT篇)


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存