{"id":21018704,"url":"https://github.com/tal-tech/fend-doc","last_synced_at":"2025-07-11T13:07:34.293Z","repository":{"id":56377837,"uuid":"281333038","full_name":"tal-tech/fend-doc","owner":"tal-tech","description":"Fend Framework Document","archived":false,"fork":false,"pushed_at":"2020-11-11T10:37:38.000Z","size":2828,"stargazers_count":1,"open_issues_count":0,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-15T06:39:29.585Z","etag":null,"topics":["php","php-fpm","swoole"],"latest_commit_sha":null,"homepage":"https://tal-tech.github.io/fend-doc/","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tal-tech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-21T07:55:20.000Z","updated_at":"2020-11-11T10:37:41.000Z","dependencies_parsed_at":"2022-08-15T17:40:20.680Z","dependency_job_id":null,"html_url":"https://github.com/tal-tech/fend-doc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tal-tech/fend-doc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tal-tech%2Ffend-doc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tal-tech%2Ffend-doc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tal-tech%2Ffend-doc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tal-tech%2Ffend-doc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tal-tech","download_url":"https://codeload.github.com/tal-tech/fend-doc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tal-tech%2Ffend-doc/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264816083,"owners_count":23668115,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["php","php-fpm","swoole"],"created_at":"2024-11-19T10:27:10.417Z","updated_at":"2025-07-11T13:07:33.809Z","avatar_url":"https://github.com/tal-tech.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Fend\n\nPHP是一款简单方便的语言，而行业开源框架为了`后续灵活` 而变得过于繁重\n\nFend框架是一款很有历史的框架、初代发布后一直在好未来坊间传播使用、衍生出大量分支版本 \n\n这是一款很有意思的框架、普通的框架内隐藏着大型互联网经验的精华、也同时存在大量历史痕迹\n\n2019年7月 我们对Fend进行整理、封装、推广、目前在好未来内部有大量的用户在使用、维护 \n\n2020年7月 开源、以此共建交流 \n\n我们崇尚 `脚踏实地、仰望星空` 精神 欢迎小伙伴一起参与开源共建\n\n## 设计方向\n\nFend 框架是一款以企业快速实现业务为主要目标的框架，但与复杂的行业流行框架追求不同： \n * `简单实用`：追求快速上手，扩展功能一步到位、大量降低功能的复杂度、框架更注重简单实用实现\n * `单层内核`：追求一个函数能实现的功能绝不继承封装，不追求框架自身功能的继承可复用 \n * `内聚归类`：高度集中归类功能，降低底层复杂度，减少底层组件关注度、更多时间在业务\n * `持续积累`：持续积累大型互联网线上运营经验，持续探索企业实用技巧，深度来自于积累而非AOP带来的灵活性\n * `内核设计`：高内聚简单内核，放开业务自封装空间，留下更多空间给业务\n * `开源心态`：开放公开，接受任何符合价值观源码奉献、但有严格代码审核\n\n## 功能简介\n * Swoole/FPM 双引擎平滑切换(协程版本还在整理稍晚放出)\n * 统一使用 Composer Autoload PSR4\n * 请求Debug 模式，请求网址wxdebug=1可查看debug模式查看异常分析性能\n * 协程模式下对变量域做了更好的封装，降低协程使用难度\n * 支持压测使用灰度影子库\n * 高速map映射路由 + FastRouter正则路由\n * 符合大数据挖掘设计的Trace日志，方便ELK分析、ClickHouse、HBase、实时预警\n * throw new Exception方式处理业务异常、能够快速发现异常\n\n## 性能压测\n目前是在KVM虚拟机上压测、后续会找一台阿里云进行压测 \n\n### FPM性能\n 服务器配置\n * CPU 4 核 Xeon 2.2\n * 内存 12G\n * KVM + CentOS 7.6\n * FPM 开启进程数 500\n \n ![](./assets/fpm_perform.png) \n \nQPS 5331 (分析：fpm空跑hello 1w、引入composer autoload 后 7000、开启日志trace 6000、框架内echo 5000)\n \n### Swoole 1.10.x 性能\n 服务器配置\n * CPU 4 核 Xeon 2.2\n * 内存 12G\n * KVM + CentOS 7.6\n * FPM 开启进程数 500\n \n ![](./assets/swoole_perform.png) \n  \nQPS 24000、协程版本稍晚放出\n\n### 发行版本介绍\nFend有两个版本\n * Tag版本为 1.2.x FPM/Swoole 1.10.x 平滑切换版本\n * Tag版本为 1.3.x FPM/Swoole 4.5.x Coroutine 协程 平滑切换版本 `此版本还在调整`\n\n## 以下为1.2.x版本安装\n\n#### FPM Engine Start\nmaster is 1.2.x version \n\n```bash\ncomposer create-project fend/fend-skeleton:~1.2.0 project_name\n```\n\nRef [nginx.conf](https://github.com/tal-tech/fend/blob/master/nginx.conf) to configure Nginx and http://127.0.0.1/ on browser \n\n#### Swoole Engine Start\n\n```bash\ncomposer create-project fend/fend-skeleton:~1.2.0 project_name\n\n# swoole start ( /bin/fend depend on composer require symfony/console )\nphp /bin/fend Swoole -c app/Config/Swoole.php start\nphp /bin/start.php -c app/Config/Swoole.php start\n```\n\nbrowser http://127.0.0.1:9572/ \n\n## 1.3.0协程版本 安装\n```bash\ncomposer create-project fend/fend-skeleton:~1.3.0\n```\n\n## 合作伙伴\n好未来教育集团90%在线业务在使用本框架\n\n\u003cul style=\"line-height: 80px;list-style: none\"\u003e\n    \u003cli\u003e\u003ca href=\"https://www.xueersi.com\"\u003e \u003cimg src=\"./assets/xeswx.png\" width=\"200\" alt=\"好未来网校\"/\u003e \u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://fudao.xes1v1.com/\"\u003e \u003cimg src=\"./assets/xes1v1.jpg\" width=\"200\" alt=\"好未来网校1v1\"/\u003e \u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"http://www.jzb.com/\"\u003e \u003cimg src=\"./assets/jzb.png\" width=\"200\" alt=\"家长帮\"/\u003e \u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://xiaohou.xueersi.com/\"\u003e \u003cimg src=\"./assets/xiaohouai.png\" width=\"200\" alt=\"好未来小猴AI课\"/\u003e \u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n## 共建规则\n欢迎挑战组件功能、允许同类功能同时发布竞争、以 性能好 + 实用及实现简单 + 功能实用 评判\n\n## 联系我们\nissue: [https://github.com/tal-tech/fend/issues](https://github.com/tal-tech/fend/issues) \n\n加群请加微信： \n\n![](./assets/contactus.png) \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftal-tech%2Ffend-doc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftal-tech%2Ffend-doc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftal-tech%2Ffend-doc/lists"}