Linux基金会执行董事眼中的海量服务之道

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

Jim Zemlin Linux基金会执行董事

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

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

海量服务,一大框架

腾讯前CTO张志东曾用三个维度定义过互联网的海量服务:

当在线超过千万;

当索引超过百亿; 

当数据超过百P。

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

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

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

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

跨语言的通信适配非常繁重,不同团队会重复实现一样的功能组件;

业务逻辑集中,耦合性强,开发维护成本高,服务模型多样化, 业务协议不统一;

运维工具各异,部署管理混乱, 规范性差,管理能力薄弱;

代码重复率高,性能、高可用性、 可扩展性等方面难以适应业务海量访问发展趋势;

运营数据缺失,监控维度不立体, 故障时分析和查找问题困难。

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

   

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

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

发力开源,TARS前行

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

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

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

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

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/6978.html