注册 投稿
经济金融网 中国经济学教育科研网 中国经济学年会 EFN通讯社

腾讯17年技术演进背后的方法论

\

腾讯走向云这个领域,是我们长期技术发展的必然。我们现在提互联网+,互联网+的真实含义就是连接所有的一切服务。当要连接一切服务的时候,向云而去的这种技术演进就应运而生。今天主要分享一下腾讯的技术演进与发展。

海量阶段,用更好的技术、更低的成本支撑服务
腾讯公司是1998年创立的,整个技术演进分为几个阶段。第一个阶段是海量阶段。

大家都知道,QQ有一个非常令大家幸福的烦恼,用户增长太快,我们在2001年的时候,QQ的在线总数就超过了100万,2004年的时候,QQ游戏也超过了100万在线。

但在这个增长当中,当时腾讯并没有在QQ上找到太好的盈利模式。所以,腾讯只能用更好的技术、更低的成本去支撑竞争对手所支撑不了的服务,因此,在这里面,腾讯有非常多的技术的积累。

比如,当QQ用户从10万到100万时,我们的单机处理能力已经好过行业里其他人10倍以上了。这个数字相当于别人的一台机器只能做1000个在线连接,腾讯能做到1万。这就是海量阶段时一个比较重要的技术创新——PCT 架构,也是为什么那么多做IM的公司,只有腾讯最终胜出的原因之一。

另一点,在做海量业务的时候,技术难度上就如同造房子,不光造得高,材料还要省,成本还要低,所以腾讯非常讲究找出关键的技术支撑点,把技术上的好钢用在刀刃上。

QQ有一个具体的案例。QQ有很多关于会员的标记,腾讯舍不得为每一个标记用1个字节Byte,而用的是1比特Bit。

在很早期的时候,腾讯在主要存储上用的都是文件存储。因为,我们对于QQ的理解,觉得在很多的场景未必要用通用的数据库来解决问题,用一些简单的数据技术处理方式,反而会成本更低效率更高。

这些都是当年我们在面对海量上的突破,在很多技术细节上,腾讯是非常精打细算的,将更好的技术资源节约出来,留给关键使用场景,才能支撑到QQ的整体上升。

在这一点,谷歌和腾讯有着相似的判断。Google的第一个网页多年始终如此,非常简单。大家认为这是一种极致的表现。实际上通过“抓包”发现,谷歌的首页是小于1.5K的,一个以太网包就能把它打开。

面对海量,我们能做到的就是极致,化繁为简。

运营阶段,用可持续、可发展跟上快速变化的互联网
2004年以后,腾讯有一款很好的应用,就是QQ空间,它是一个宽带应用,跟IM、QQ游戏这种窄带应用有很大的差别,对带宽等基础设施要求更高。

QQ空间里的用户不只关注自己发布的内容,还要看别人发布的内容。用户的有交叉访问带来技术挑战和难度。

当时中国的互联网基础设施还不发达,很多用户都是拨号上网。北边是网通,南边是电信,还有现在归属电信的教育网,交叉访问效果没有现在好。腾讯花了非常大的技术力量做三网融合。在当时是很难,分布过碎,成本会很高,数据一致性很难保证。但是分布得不够,用户体验不够好。在整个运营的过程当中,这是一个非常难的技术。

另外一个挑战是产品需求变化逐渐变大,外界环境变化也非常大。就好像当年你认为10层楼就够了,现在可能需要20层,但当年的地基就决定了你只能建10层,所以要往上做,就需要我们对地基进行梳理,有时还要把地基挖了重新建。这对运营和技术都是很大的挑战。

产品需求的变化也很快,就拿QQ相册来讲,2004年显示器的屏幕是800×600的,QQ空间原来一排设置5个图片,总共有4行,20张。后来屏幕逐渐变高端、变宽,变成一排7张,但再用4行,28张图片带来的访问量就比原来要加大,可能会导致页面显示速度的下降,我们就改成了3行。

当产品需求的变化,客观环境变化的时候,运营上、技术上就有了极大挑战。伴随这些技术细节的变化,腾讯的机房也从小变大。原来以为千兆可以解决一切问题,现在要万兆机房。

所以,我们的运营就要可持续、可发展,要适应用户需求及外部环境的快速变化。

柔性阶段,倾尽全力保证产品牢靠性
第三个阶段是柔性阶段,就是2008年到2012年,代表产品就是微信。

2008年以后,QQ和微信的日活跃量之和已经超过10亿。QQ和微信对用户而言,就像是水和电的基本生活需求,所以我们提出柔性的概念。这种基础性的产品,即使出现微小的使用问题都会对用户的正常生活造成很大的不便。

所以腾讯在这个阶段,面临的新技术问题就是规避风险,规避天灾人祸,把产品做得更加的牢靠。人祸很容易产生,比如研发人员写了一个 BUG,或者运营人员操作失误。天灾也会经常遇到,一些地方城市建设,挖断了光纤,或者出现一些自然灾害,洪水、台风或地震。

那在这样的情况下,保证用户的正常使用是非常有挑战的技术难题。我们做的就是先保证产品的基础需求,如登录,让用户知道自己的资料还是完整的,并没有被篡改;再让用户看到自己的好友资料还在,好友列表没弄丢;然后再提供一些简单的文本的通讯,慢慢再加上图片、视频等。这是一个从基础体验到复杂体验的过程,慢慢增加用户的接受度,是一个柔性的过程,技术控制的艺术和难度也不断攀升,我们能做的就是倾尽全力、力所能及。


2010年之后,腾讯提出开放平台的概念,连接不同行业的解决方案,到现在腾讯开放自己的云平台,帮助整个行业打造生态环境。

但腾讯贡献的最大价值其实是从1998年开始,经历QQ、QQ空间、微信积累的技术方法论:动态运营、云中成长、有损服务。

动态运营的关键要素:
小步快跑,快速求证用户猜想。
灰度发布,在黑与白之间,平滑过渡的一种发布方式。
大系统小做:分进程,尽量保证进程的功能单一。
边运营边重构,细分实施,持续服务。
干干净净:建立信息,勇于承担,边打扫边生活。
工具齐备:自动化部署、监控,大数据分析。
追求小规模团队,成功的产品多由小团队开始尝试,简单的产品不断创新。缩短上线时间,不断迭代。

云中成长:
每个团队虽然有很多牛人,但却存在一定的局限性,把更多的技术交给更专业的人做,使用云架构。

有损服务:
如何在遇到灾难或者用户突发高峰,继续服务好用户?在条件不允许的情况下要降级处理,进行“有损手术”,并非最重要的功能弱化,在压力过高的时候做逻辑性处理,减轻后端服务器压力。

(责任编辑:郭倩荷)

文章评论
关注我们

快速入口
回到顶部
深圳网站建设