centos7 php多版本切换_科技教育公司“好未来”正式对外开源高性能PHP框架Fend

7ccb1aed21c60b3c89d874501bdbf16f.png

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

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

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

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

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

ea98a16ac3de4bfa0506209537a8a13c.png

349a1303775914d57d1ff336ba713ebc.png

前言

4fbb8d76374b916b9d61391893dabc97.png

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

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

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

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

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

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

349a1303775914d57d1ff336ba713ebc.png

设计方向

4fbb8d76374b916b9d61391893dabc97.png

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

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

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

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

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

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

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

349a1303775914d57d1ff336ba713ebc.png

功能简介

4fbb8d76374b916b9d61391893dabc97.png
  • Swoole/FPM 双引擎平滑切换

  • 统一使用 Composer Autoload PSR4

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

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

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

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

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

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

349a1303775914d57d1ff336ba713ebc.png

性能压测

4fbb8d76374b916b9d61391893dabc97.png

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

349a1303775914d57d1ff336ba713ebc.png

FPM性能

4fbb8d76374b916b9d61391893dabc97.png

服务器配置

  • CPU 4 核 Xeon 2.2

  • 内存 12G

  • KVM + CentOS 7.6

  • FPM 开启进程数 500

    ff81ef18686f5fc37e476b50ae496d5f.png

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

349a1303775914d57d1ff336ba713ebc.png

Swoole 1.10.x 性能

4fbb8d76374b916b9d61391893dabc97.png

服务器配置

  • CPU 4 核 Xeon 2.2

  • 内存 12G

  • KVM + CentOS 7.6

  • FPM 开启进程数 500

4f8ad6286002bbaa312cc1f3929c2b4f.png

349a1303775914d57d1ff336ba713ebc.png

发行版本介绍

4fbb8d76374b916b9d61391893dabc97.png

Fend有两个版本

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

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

349a1303775914d57d1ff336ba713ebc.png

以下为1.2.x版本安装

4fbb8d76374b916b9d61391893dabc97.png
FPM Engine Start

master is 1.2.x version

c47b0a6b38eae12c334694876533bd06.png

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

Swoole Engine Start

ac11095bbbe7c90751aedaa45547db5c.png

browser http://127.0.0.1:9572/

349a1303775914d57d1ff336ba713ebc.png

1.3.0协程版本 安装

4fbb8d76374b916b9d61391893dabc97.png

049b0f23b122bb9b036813daa6616300.png

349a1303775914d57d1ff336ba713ebc.png

开源项目作者列表

4fbb8d76374b916b9d61391893dabc97.png

0db3fe52a5c906a0d21b13f70c69905b.png

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

349a1303775914d57d1ff336ba713ebc.png

合作伙伴

4fbb8d76374b916b9d61391893dabc97.png

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

  • 5189a35e8b6a7c94ed4f94de86f4ab0e.png

  • ba248502640736eec8a8c79dc3981298.png

  • bedc82215b4f3280de4cf64f25e9f177.png

  • a3709ed67ed8654d5625cf781b41cf9b.png

349a1303775914d57d1ff336ba713ebc.png

共建规则

4fbb8d76374b916b9d61391893dabc97.png

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

349a1303775914d57d1ff336ba713ebc.png

开源项目地址

4fbb8d76374b916b9d61391893dabc97.png

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

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

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

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

c4a86a3095dbef815389e06ff8bb9466.png

- End -

  1. e5f71eeed4ade1d1605a1ffe5922b141.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值