专栏首页腾讯大讲堂的专栏中国技术力量:腾讯技术十七年

中国技术力量:腾讯技术十七年

11月16日,QCon全球软件开发大会将在美国旧金山隆重开幕,在本次特别设置的中国技术开放日专场上,来自腾讯社交事业群的高级技术总监廖念波,将向国外技术同行分享腾讯的海量服务之道。

让腾讯来代表中国互联网的技术力量,我想没有人会表达什么疑问,刚好近日腾讯度过其十七周年,借着这个难得的机会,还是让我们来回顾一下腾讯这些年来技术的发展之路,看看技术是如何支撑当年一个小小的聊天软件成长为如今的巨头的。

从0到1亿的架构

关于腾讯早期的技术架构,有一个流传很广的说法:腾讯联合创始人、前CTO张志东,在早期为QQ设计了前后端架构,这个架构沿用了很长时间,支撑着当时的QQ业务从无到有,直到后来上亿用户同时在线。

不过,传说总有夸大的部分,真正的架构需要不断的演变。QQ在2010年3月5日同时在线人数突破1亿,2011年腾讯高级技术总监icezhuang分享了让很多人印象深刻的演讲《1.4亿在线背后的故事》,讲述了QQ架构是如何支撑它从0到1亿的。2014年时任腾讯技术副总监也在QCon上分享了QQ面向移动时代的架构演变。事实表明,QQ的后台架构至少做了三次大的改变:

『十万级(同时在线人数)』

简单的存储服务和接入服务器的架构。只能支持一些简单的业务。后面又增加了长连接服务器,为无法直连的客户端进行实时宽带数据中转。

『百万级』

QQ在2001年达成百万级在线。第一代架构在达到百万级在线时面临瓶颈,于是进行了一次大的演变,将上面的单台服务器扩展成集群,添加了状态同步服务器,在接入服务器之间同步状态。后来,QQ发布了其最重要的业务之一QQ群,又增加了群相关的服务器和集群。这两个阶段的关注点主要是高性能以及7X24小时连续提供服务。

『千万级』

2005年QQ达成千万级在线。第二代架构在这个数量级面前同样难以支撑,例如,状态同步服务器根本存不下所有人的状态,只能继续进行改造。它们将状态同步服务器改造为集群,并将业务进行分离。然而,此时它们的服务器越来越多,并且都在一个IDC,一旦IDC出现问题,整个业务都将停摆。针对这个,它们进行了机房规划和容灾改造,开始推动灰度发布,提升运维自动化能力。这个阶段的关注点在高可用性以及高可运维性。

『亿级』

2010年QQ在线突破1亿,并且持续提升,这是因为移动互联网来临,开启了24小时在线时代。持续的打补丁已经难以支撑亿级在线,老架构以及众多补丁让系统缺乏灵活性,比如,要将昵称长度增加一般,按当时的速度需要两个月。因此只能重新设计实现整个架构。新的架构分为存储系统和通信系统,分别历时数年完成,足以支撑5-10亿同时在线人数,同时保持业务的灵活性。值得一提的是这个架构是基于云计算的架构,这也为后面的腾讯云打下了基础。

QQ是腾讯最早也是最核心的业务,它的架构演变也可以看做是腾讯技术发展和成长的一个缩影。除此之外,QQ空间作为国内最大的SNS、支撑QQ整个账号体系的Basic数据库也分享了它们的架构演变过程。从这些演讲中,我们可以看到如“大系统小做”、“灰度发布”这些理念逐渐清晰,成为腾讯独特的技术哲学,后来,它们将这些提炼出来,形成了腾讯的海量之道。

腾讯的海量之道

2014年腾讯云技术专家在QCon上分享了腾讯的海量之道,将腾讯多年在技术研发的经验提炼出了一些关键词:

『小步快跑』

对用户的需求快速反应,或者快速求证对用户猜想是否正确。它一个典型例子就是微信,微信1.0的时候只有聊天功能,界面还很简陋,但随着快速迭代,响应用户需求,现在的微信已经成为一个平台。小步快跑在技术上要求初始设计可扩展,自动化部署,轻松上线以及快速沉淀的能力。

『灰度发布』

是指一种平滑过渡的发布流程。腾讯现在的灰度发布流程一般按照公司内部员工>忠诚度高的核心用户>10%活跃用户>50%活跃用户>所有用户,这样的人群来进行。要使用灰度发布,一般在最开始进行架构设计的时候就需要考虑进去。

『大系统小做』

其实就是模块拆分,将一个大的系统尽量拆分成功能单一的模块,在架构设计上尽量使用插件式设计,高度解耦。腾讯QQ乃至到后来的腾讯云都是依凭这个思想,小到代码中一个类的设计,大到涉及数个集群的云服务,都按照模块来划分。

『边运营边重构边生活』

世界上没有完美的系统,总是会出现问题,重要的是提供持续服务的能力。另外必须重视技术负债,在研发的过程中也要不断的重构。

『快速沉淀』

其实就是将业务和解决方案服务化,将解决一个复杂问题的方法沉淀下来给后人使用。腾讯还将业务逻辑也进行服务化,比如将摇一摇、漂流瓶等都做成服务供微信、QQ等开发团队调用。

『有损服务』

重点接口重点保障,次要接口有损保障,并提供紧急时刻的降级能力,同时在前端设计即使降级也能保证用户体验。

当然,多年的经验并不仅仅凭几个关键词就能完整总结,我们还可以从其它地方看到一些端倪,比如15年春节时的微信红包。

据事后统计,春晚微信总共摇动110亿次,峰值请求达到1400万次/秒,微信技术专家在ArchSummit全球架构师峰会上分享了微信春晚红包如何应对100亿次请求。

到了微信时代,腾讯应对海量请求基本上已经驾轻就熟,在分享中我们可以看到上面这些理念的应用,当然由于这并非产品而是一次热点策划,因此在细节上有所不同。此时微信服务器分布在三个数据中心,有着强大的容灾能力,带宽1Tb/s以上,微信本身已可以支持全国14亿以上人同时在线,但是,数量级每上升一个级别,其难度也相应上升。这次红包活动的架构设计和优化思路仍然值得学习。

腾讯虽以产品出色著称,但无人忽视其技术实力,是因为十七年如一日的持续服务,以及微信春晚红包这样让人直观感受到的应用场景,出色的产品背后也需要强大的技术支撑。随着腾讯这次走向海外公开分享,相信腾讯的技术影响力将辐射到全球,让整个世界见识中国的技术力量。

输出中国技术力量到国际舞台

促进中美技术交流

展示中国技术实力

百名CTO为中国技术力量代言

让世界为中国技术人骄傲!

中国技术开放日有哪些牛企大咖?

本文分享自微信公众号 - 腾讯大讲堂(TX_DJT)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-11-15

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 专访Tony:漫谈技术、文化与人才

    3月19日,Tony正式卸任公司执行董事,并将在6个月后卸任CTO职责,而后全面投身到学院专职讲师岗位。《腾讯月刊》在第一时间采访了Tony,Tony也围绕着技...

    腾讯大讲堂
  • QQ重大更新,请大家手下留情

    疫情期间,老师和家长为孩子们上课操碎了心,在众多的远程上课的APP中,突然它站了出来! ? 作为一款国民级的应用,它向来以群众基础广泛,音视频通话稳定,传输大...

    腾讯大讲堂
  • 两万字解密:腾讯为何把产业互联网交给他

    那天中午,他和马化腾一块儿吃了顿工作餐。他的目的很简单,说服Pony,争取把QQ留在自己手里,与云合力。他不想失去这张倾注6年心血的王牌。

    腾讯大讲堂
  • 马化腾现在的“后怕”和未来的紧张

    2010 年10 月,基于手机通讯录的免费聊天应用Kik 上线15 天就收获了100 万用户。时任腾讯广州研发部总经理的张小龙忽然意识到,移动互联网将来会出现一...

    用户1756920
  • 《腾讯传》读书笔记

    马化腾:腾讯公司控股董事会主席兼首席执行官  许晨晔:腾讯公司首席信息官  张志东:2014年3月19日卸任首席技术官(CTO)  陈一丹:2013年3月21日...

    meteoric
  • Super快报第37期:支持正版从我做起

    1、高晓松称网络音乐7月1日后开始收费 高晓松今天下午在出席第13届音乐风云榜年度盛典启动发布会时透露,7月1日后,中国音乐产业将进入全面正版化的时代。他指出...

    罗超频道
  • 还原真实的腾讯:从最不被看好,到即时通讯巨头的草根创业史

    本文原文由CSDN组织翻译并以原题《腾讯帝国的野蛮生长史》发布于CSDN公众号,英文原文:hackernoon.com/the-chinese-social-n...

    JackJiang
  • 专访Tony:漫谈技术、文化与人才

    3月19日,Tony正式卸任公司执行董事,并将在6个月后卸任CTO职责,而后全面投身到学院专职讲师岗位。《腾讯月刊》在第一时间采访了Tony,Tony也围绕着技...

    腾讯大讲堂
  • 微信早报 | 张小龙正研发车载微信;广州「乘车码」无故扣费

    知晓君
  • Workshop丨去中心化,赋能零售业态新生机

    2018年2月2日, 以“智慧零售,赋能品牌新生机”为主题的Workshop分享会在深圳腾讯大厦召开。腾讯云副总裁王祥宇出席会议并发表演讲,与歌力思,3W咖啡...

    腾讯云智慧零售

扫码关注云+社区

领取腾讯云代金券