php 扩展开发阅文对PHP如何通过TARS构建高性能RPC框架做经验分享php开发app微信支付接口开发教程
2021-12-03
今天(5月19日)php 扩展开发,在上海召开的第六届中国PHP开发者大会()上,腾讯开源项目TARS首次发布了PHP版本。阅文集团高级开发工程师梁晨(Ted)询问PHP如何通过TARS 搭建高性能RPC框架的经验分享。
“现有的PHP开发生态至少要功能齐全、灵活、轻量级、高效。” 梁辰说道。在分享中,他介绍了高性能RPC框架TARS的基本设计思路,并通过客户端、二进制协议、服务器和开发效率部分,在PHP语言和框架层面分享了TARS解决方案TARS-PHP的设计。和实现。
在客户端,TARS-PHP客户端具有统一配置、一键调用、多网络能力等特点。在功能上,它支持自动寻址、主调用报告、远程日志记录以及同步和协程等网络能力。同时可以根据实际网络收发情况及时上报耗时、故障率、超时率、服务器异常等,方便业务第一时间发现和定位问题
在二进制协议方面,TARS-PHP通过独立的PHP模块扩展完成了二进制协议的打包和解包,同时兼顾了高性能和稳定性两个方面。通过合理设计接口并完全用纯C语言实现来提高性能。通过引入phpt的扩展标准测试和工具测试,覆盖了80%以上的测试代码php 扩展开发,提高了稳定性。与原来的纯PHP打包解包方式相比,本次扩展打包效率提高了12-16倍,解包效率提高了9-14倍。
在服务器端,使用 TARS-PHP 服务器作为底层运行环境。它只需要简单的配置,就可以顺利使用。此外,TARS-PHP 服务器通过自动生成的注释路由请求。开发者根本不需要关心,只需要专注于实现自己的业务逻辑即可。除了提供基础类型外微信公众号开发,还提供了完整的配置文件分析、服务保活上报、拉取和发布配置、特性上报、业务代码打包等系统,让用户不仅可以实现自己的业务逻辑,也有针对性地展开。从测试数据来看,空跑的HTTP QPS达到了23万。使用协程后,在混合RPC调用的情况下,QPS仍然是21,
在开发效率方面,TARS-PHP 升级了一个全新的工具。通过TARS文件和工具,可以完全实现客户端和服务端的代码生成,两端通过协议完全解耦,大大提高了开发效率。
以阅读群的实践为例,介绍TARS-PHP在阅读中已经验证使用一年多,目前支持十几个Node HTTP服务,40多个逻辑API层PHP服务和定时服务,以及100多个后端TCP服务,每天服务间调用数亿次,带来开发、运维、性能的全面提升。
最后,梁辰介绍了后续计划。TARS-PHP 将支持更多的框架、丰富的功能和升级,同时提高稳定性。他还号召更多的公司和开发者加入进来,共同建设,让TARS-PHP越来越好。
梁晨(Ted),阅文集团高级开发工程师,启迪网WEB后端架构负责人。曾就职于腾讯,负责公司QQ和QQ公众号的开发和优化。腾讯TARS开源项目贡献者小程序开发,腾讯TSF开发团队成员,具有丰富的高性能WEB后台搭建和微服务治理经验。