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

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

在技术一直晋升的路线上,好将来技术线提出保持“大中台、小前台”的技术策略,对立根底服务设施建设,推动公司技术组件落地,加强企业技术人才内生,一直晋升企业的技术实力及技术影响力。

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

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

前言

PHP是一款简略不便的语言,而行业开源框架为了后续灵便 而变得过于沉重

Fend框架是一款很有历史的框架、初代公布后始终在好将来坊间流传应用、衍生出大量分支版本

这是一款很有意思的框架、一般的框架内暗藏着大型互联网教训的精髓、也同时存在大量历史痕迹

2019年7月 咱们对Fend进行整顿、封装、推广、目前在好将来外部有大量的用户在应用、保护

2020年7月 开源、以此共建交换

咱们崇尚 好高鹜远、俯视星空 精力 欢送小伙伴一起参加开源共建

设计方向

Fend 框架是一款以企业疾速实现业务为次要指标的框架,但与简单的行业风行框架谋求不同:

  • 简略实用:谋求疾速上手,扩大性能一步到位、大量升高性能的复杂度、框架更重视简略实用实现
  • 单层内核:谋求一个函数能实现的性能绝不继承封装,不谋求框架本身性能的继承可复用
  • 内聚归类:高度集中归类性能,升高底层复杂度,缩小底层组件关注度、更多工夫在业务
  • 继续积攒:继续积攒大型互联网线上经营教训,继续摸索企业实用技巧,深度来自于积攒而非AOP带来的灵活性
  • 内核设计:高内聚简略内核,放开业务自封装空间,留下更多空间给业务
  • 开源心态:凋谢公开,承受任何合乎价值观源码贡献、但有严格代码审核

性能简介

  • 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

QPS 24000、协程版本稍晚放出

发行版本介绍

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

composer create-project fend/fend-skeleton:~1.2.0 project_name复制代码

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

Swoole Engine Start

composer create-project fend/fend-skeleton:~1.2.0 project_name# swoole start ( /bin/fend depend on composer require symfony/console )php /bin/fend Swoole -c app/Config/Swoole.php startphp /bin/start.php -c app/Config/Swoole.php start复制代码

browser http://127.0.0.1:9572/

1.3.0协程版本 装置

composer create-project fend/fend-skeleton:~1.3.0复制代码

软件作者奉献列表

姓名

事业部

部门

刘帅 (@lsfree)

网校

平台研发部

韩天峰 (@matyhtf)

网校

架构研发部

徐长龙 (@蓝天)

网校

架构研发部

陈曹奇昊 (@twose)

网校

架构研发部

谢华亮 (@黑夜路人)

开放平台

智慧教育

陈雷 (@godblessmychildren)

网校

互联网研发部

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

合作伙伴

好将来教育团体90%在线业务在应用本框架

  • xiaohouai.png

共建规定

欢送挑战组件性能、容许同类性能同时公布竞争、以 性能好 + 实用及实现简略 + 性能实用 评判

分割咱们

issue: github.com/tal-tech/fe…

加群请加微信:

兴许你还想看

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

WebRTC源码剖析——视频流水线建设(上)

"考试"背地的迷信:教育测量中的实践与模型(IRT篇)

作者:好将来技术团队
链接:https://juejin.im/post/686078...
起源:掘金
著作权归作者所有。商业转载请分割作者取得受权,非商业转载请注明出处。