\"大众现有PHP的开拓生态,至少要做到功能完善、灵巧、轻量和高效。 \"大众梁晨提道。他在分享中先容了高性能RPC框架TARS的基本设计思想,以及通过客户端、二进制协议、做事端以及开拓效率几个部分,分享了在PHP措辞和框架层面的TARS办理方案TARS-PHP的设计与实现。
在客户端方面,TARS-PHP客户端具备配置统一化、一键调用以及多种网络能力的特点。功能上支持自动寻址、主调上报、远程日志以及SOCKET、SWOOLE同步、SWOOLE协程的网络能力。同时能够根据实际的网络收发情形,进行耗时、失落败率、超时率、做事端非常的及时上报,方便业务尽快创造和定位问题
在二进制协议方面,TARS-PHP通过独立PHP模块扩展完成了对二进制协议的打包解包事情,同时考虑了高性能和稳定性两个方面。通过合理设计接口并完备通过纯C措辞实现,提高性能。通过引入phpt的扩展标准测试及Valgrind工具测试等,覆盖80%以上的测试代码,提升稳定性。比较于原有的纯PHP打包解包办法,该扩展将打包效率提升了12-16倍,解包效率也提升了9-14倍。

在做事端方面,TARS-PHP做事端以SWOOLE作为底层的运行环境,只须要大略配置,即可顺畅利用。除此之外,TARS-PHP做事端通过自动天生的表明进行要求的路由,开拓者完备不须要关心,只须要关注于实现自己的业务逻辑即可。除了供应基本的SERVER类型之外,还供应了配置文件解析、做事保活上报、拉取下发配置、特性上报、业务代码打包整套体系,使得利用者既能够实现自己的业务逻辑,也能够针对性的进行拓展。从测试数据看,空跑的HTTP SERVER QPS最高达到了23万。而利用了协程CLIENT之后,在稠浊RPC调用的情形下,仍有2万1的QPS,比较于同步CLIENT,提升了50%旁边。
在开拓效率方面,TARS-PHP升级了全新的TARS2PHP工具,通过TARS文件和TARS2PHP工具,就能够完备实现客户端和做事真个代码天生,并且两端通过协议完备解耦,大大提高了开拓效率。
他以阅文集团的实践为例,先容TARS-PHP在阅文经由了一年多的验证和利用,目前支持十几个Node HTTP做事,40多个逻辑API层PHP做事与定时做事,以及100多个后台TCP做事,各做事之间逐日亿级的调用,带来的开拓、运维、性能的全面提升。
末了梁晨先容了后续的方案,TARS-PHP会在提高稳定性的同时支持更多框架、丰富功能、再做提升。他同时呼吁更多公司和开拓者加入进来一起共同培植,让TARS-PHP越来越好。
梁晨(Ted),阅文集团高等开拓工程师,出发点中文网WEB后台架构卖力人。曾就职于腾讯,卖力企业QQ与QQ公众号后台开拓与优化事情。腾讯TARS开源项目贡献者,腾讯TSF开拓组成员,对付构建高性能WEB后台、微做事管理有丰富的履历。