TARS:Linux基金会新一代海量服务开发框架

在上周美国加州圣迭戈开源峰会上,Linux基金会执行董事Jim Zemlin做了主题演讲。

他把由腾讯主导开源并捐献给Linux基金会的微服务RPC框架TARS定义为“New ways to scale”,一种海量服务之道。与TARS一起在主题演讲中获得官方认证的还有Cloud Native、Let's Encrypt等多个业界知名项目。

TARS是由腾讯开发的成熟RPC框架,能快速搭建系统及自动生成代码,兼顾易用性与高性能。同时,TARS支持C++、Golang、Java、Node.js、PHP与Python在内的多种编程语言,帮助开发者及企业以微服务的方式快速构建自己稳定可靠的分布式应用,让开发聚焦业务逻辑,有效提升运营效率。

2018年6月25日,腾讯宣布将TARS项目贡献给开源基金会,依托于良好的开源社区生态帮助更多开发者。

海量服务,一大框架

腾讯前CTO张志东曾用三个维度定义过互联网的海量服务:当在线超过千万;当索引超过百亿;当数据超过百P。

而这些海量服务的背后,所要求的不仅是运营平台的吞吐能力,更是架构设计的合理性、前瞻性、可扩展性。

李开复先生曾经说过,如果Google采用IBM的行业解决方案的话,Google将会破产,因为在传统行业中,每个交易的造价是很昂贵的,它没有办法放量到这样的级别。这就决定了做海量服务的架构取向,硬件、中间件都不能依赖,因为这些都是为比较小的量级的行业所设计的。

过去的20年,腾讯的用户规模经历了指数级的快速增长,每攀升一个量级,对企业的海量运营能力都是一个新的严峻挑战。技术世界里,不存在一个完美应对任何规模互联网服务的系统。不同量级的服务,需要不同的系统架构做支撑,此外,每增加一个规模量级,都会出现更多优化需求

10年前,腾讯没有一个统一的开发框架,每条业务线都有各自的开发习惯,每个团队也有自己使用的开发语言,技术选型上的千差万别使得开发协作出现很多问题:

  • 跨语言的通信适配非常繁重,不同团队会重复实现一样的功能组件;
  • 业务逻辑集中,耦合性强,开发维护成本高,服务模型多样化, 业务协议不统一;
  • 运维工具各异,部署管理混乱, 规范性差,管理能力薄弱;
  • 代码重复率高,性能、高可用性、 可扩展性等方面难以适应业务海量访问发展趋势;
  • 运营数据缺失,监控维度不立体, 故障时分析和查找问题困难。

随着业务规模的日益膨胀,倒逼技术团队做重构、做创新,正是在这样的背景下,TARS框架应运而生。

TARS是支持多协议的高性能RPC框架,为开发和运维提供了一体化的微服务治理方案。多语言、敏捷研发、高可用、高效运营的优势,使其成为一个开箱即用的企业级产品。TARS已经在腾讯内部打磨十年之久,并在腾讯的QQ社交 、视频、游戏、地图、应用宝与管家等上百个核心业务上广泛应用,微服务规模达到百万级,完美实践了业界DevOps理念和腾讯海量服务之道。

腾讯系数百个产品,世人所周知的海量服务,都跑在这个自研的微服务框架上。张志东分享的腾讯海量服务之道,TARS持续地迭代、优化、进化着。

发力开源,TARS前行

“我们将通过内外部开放源代码的方式,积极参与全球科技共同体的构建。”

“今天没有哪个国家能够完全拥有全球新一轮科技和产业所需要的全部资源、技术和能力,产业割裂和技术脱钩将会损害整个人类长远的利益。”

8月26日,在重庆召开的2019中国国际智能产业博览会(简称智博会)高峰论坛上,腾讯公司董事会主席兼首席执行官马化腾做了演讲。他提到,腾讯愿意内外部开放源代码,积极参与全球科技共同体的构建。

一直以来,业界对于腾讯的产品能力的认可程度远高于其技术能力。自2018年下半年腾讯宣布调整组织架构开始,可以看到腾讯对于发力技术建设的决心之重。调整较大的有两大事业群,CSIG云与智慧产业事业群和PCG平台与内容事业群。另外,更由总办成员卢山、汤道生牵头建立技术委员会,几大事业群的技术负责人悉数进入技术委员会决策圈。

推动开源协同、自研上云是技术委员会的两大关键,其中开源则是跟普通开发者关系最密切的一大利好消息。

为什么要做开源?理由至少有三点:一是开源能够帮助他人更快地开发软件,促进世界创新,主要是社会价值层面的考虑;二是开源能够倒逼工程师写出更好的代码;三是开源能够更有效利用社区的力量,一起解决难题。

截至2019年7月,腾讯拥有75个开源项目,主导的开源项目累计在GitHub获得了近22万Star,其中开源项目更是涵盖了云、游戏、大数据、AI、小程序等多个领域。多个业务团队参与贡献OpenStack、KVM、Docker、NVDIMM、ceph、HBase、Hadoop、Linux、Spark、Kubernetes、torrent、dht、goprocinfo、flannel与netlink 等知名开源社区和项目,成为会员和maintainer,受到国际肯定和认可。

作为腾讯海量服务之道的践行者,十年微服务探索的集大成者,TARS开源回馈社区自然是水到渠成。2017年4月,TARS正式宣布开源,社区参与度显著提升。此后八个月中,TARS又主动进行了三个版本的迭代,涉及多种新功能、语言及ProtoBuf协议的更新。此外,阅文集团、虎牙、优品财富与科大讯飞等项目成员也积极为TARS与TSeer贡献,带动了TARS与TSeer在金融、教育、健康医疗与政务等多个行业领域的应用。

十年磨一剑的TARS不出意外地成为了腾讯开源的招牌项目,开源仅一年时间后,Linux基金会就接受了腾讯的捐赠,成为Linux基金会的开源项目,受到基金会的认可与肯定。不难预见,从组织架构层面发力开源的腾讯,未来必将获得更多来自工程师、技术团队的认可,吸纳更多优秀的开发者参与到腾讯发起的开源项目中。

原文发布于微信公众号 - 腾讯开源(tencentopen)

原文发表时间:2019-09-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券