文档章节

腾讯开源项目TARS首次全面发布PHP版本

腾讯开源
 腾讯开源
发布于 2018/05/20 11:47
字数 979
阅读 156
收藏 9

5月19日,在上海举行的第六届中国PHP开发者大会(PHPCon)上,腾讯开源项目TARS首次全面发布PHP版本,阅文集团高级开发工程师梁晨(Ted)对PHP如何通过TARS构建高性能RPC框架做了经验分享。

“现有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后台、微服务治理有丰富的经验。

© 著作权归作者所有

腾讯开源
粉丝 72
博文 40
码字总数 80080
作品 0
私信 提问
干货| PHPCon上TARS-PHP全面解读及PPT下载

2018年5月19日,在上海举行的第六届中国PHP开发者大会(PHPCon)上,腾讯开源项目TARS首次全面发布PHP版本,阅文集团高级开发工程师梁晨对PHP如何通过TARS构建高性能RPC框架做了经验分享。 ...

腾讯开源
2018/05/21
4
0
TARS 斩获 2018 年最佳原创开源软件奖

最近在开源中国举办的开源年终盛典上,开源项目 TARS 获得了年度最佳原创开源软件奖。 谈到微服务,人们往往会提起Spring Cloud和Service Mesh。 目前带服务治理的微服务框架中,Spring Clou...

oschina
2018/12/17
5.1K
10
腾讯三大运维开源项目齐聚“OSCAR开源先锋日”

10月20日,腾讯开源三大运维开源项目——TARS、蓝鲸和织云Metis首次集结,参与了由中国信息通信研究院主办、云计算标准与开源推进委员会承办的 “OSCAR开源先锋日”。会上,腾讯开源团队与前...

腾讯开源
2018/10/20
126
0
持续开放,腾讯TARS、TSeer助力Linux建设开源社区

6月25日,Linux 基金会,集结世界顶级开发者的非营利开源组织,宣布腾讯正式成为Linux基金会白金会员。这意味着,腾讯继今年3月成为LF深度学习基金会初始白金会员后,进一步与Linux基金会深入...

腾讯开源
2018/06/26
356
2
腾讯 TarsCloud 获得尖峰开源技术创新奖

7月3日,由中国信息通信研究院主办的2019云计算开源产业大会在北京举办。腾讯开源独揽尖峰开源企业奖、尖峰开源技术创新奖(自主研发项目)、尖峰开源技术创新奖(基于社区版本二次开发项目)...

oschina
07/05
4.6K
4

没有更多内容

加载失败,请刷新页面

加载更多

可见性有序性,Happens-before来搞定

写在前面 上一篇文章并发 Bug 之源有三,请睁大眼睛看清它们 谈到了可见性/原子性/有序性三个问题,这些问题通常违背我们的直觉和思考模式,也就导致了很多并发 Bug 为了解决 CPU,内存,IO ...

tan日拱一兵
36分钟前
3
0
网络七层模型与TCP/UDP

为了使全球范围内不同的计算机厂家能够相互之间能够比较协调的进行通信,这个时候就有必要建立一种全球范围内的通用协议,以规范各个厂家之间的通信接口,这就是网络七层模型的由来。本文首先...

爱宝贝丶
39分钟前
4
0
Jenkins World 贡献者峰会及专家答疑展位

本文首发于:Jenkins 中文社区 原文链接 作者:Marky Jackson 译者:shunw Jenkins World 贡献者峰会及专家答疑展位 本文为 Jenkins World 贡献者峰会活动期间的记录 Jenkins 15周岁啦!Jen...

Jenkins中文社区
57分钟前
10
0
杂谈:面向微服务的体系结构评审中需要问的三个问题

面向微服务的体系结构如今风靡全球。这是因为更快的部署节奏和更低的成本是面向微服务的体系结构的基本承诺。 然而,对于大多数试水的公司来说,开发活动更多的是将现有的单块应用程序转换为...

liululee
今天
8
0
OSChina 周二乱弹 —— 我等饭呢,你是不是来错食堂了?

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @ 自行车丢了:给主编推荐首歌 《クリスマスの夜》- 岡村孝子 手机党少年们想听歌,请使劲儿戳(这里) @烽火燎原 :国庆快来,我需要长假! ...

小小编辑
今天
1K
13

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部