本篇文章3033字,读完约8分钟
年轻时,行业帐篷内部的大礼堂课程含金量极高,在今年的帐篷开放大战术下,这座有口碑的内部高端共享课程终于走出深圳,走向了行业。 腾讯大礼堂的第一站来到北京航空空宇宙大学,第一次活动的现场非常爆炸,700多人旁听,推动整个会场不漏水。
这次活动由csdn、“程序员”和腾讯共同举办,tup第16期:梦见智力腾讯、1亿网上背后的技术课题,腾讯即通平台部高级技术负责人、t4级技术专家、腾讯软件 以下,为整理讲座副本进行评论,一起提高、学习吧。
严峻的数字考验,几乎百分之百的要求
众所周知,庞大的网络服务能力是世界公认的技术课题。 经过十多年的迅速发展,腾讯在大量的网络服务方面已经积累了很多技术。 演讲以qq im后台服务为例,再现了qq在线客户在百万级到亿级全过程中面临的技术课题,分享了大量网络后台服务研究开发运营方面不为人知的秘密。 q现在,面对7亿活动账户,每天有1亿4千万顾客在线。 q1万台im服务器和百亿级关系链的对数每天都受到千亿级服务要求的考验。 在这些严峻的数字面前,腾讯必须保证99.99%的几乎100%的可用性。 从10万到1亿4千万,整个过程经历了很多波折,吸取了很多教训。 因为这个帐篷是对大量服务的理解长时间积累的结果。
从10万级到100万级的在线很难支持第一代体系结构
qq在最初的1.0时代,客户量很少,所以是10万级的在线,同时业务功能非常简单,例如登录、添加朋友、获取在线状态等。 该体系结构非常简单,由qq客户+访问服务器+存储服务器组成。 然后,随着业务的增长,需要支持视频、语音、文件传输等实时宽带业务和越来越多种类的客户资料。 我们增加了长期连接服务器,向无法直接连接的客户端转播实时宽带数据,重要地分离存储服务器,稳定核心服务器,利用扩展服务器迅速支持新业务。 这是今后的1.5版。 但是,我们发现无论是1.0还是1.5,都很难支持百万级的在线。 因为一百万的时候,各方将面临巨大的瓶颈。 以接入服务器内存为例,一个在线顾客的内存量约为2kb,索引和在线状态为50字节,闺蜜表为400个朋友* 5字节/朋友=2000字节,2g内存只能支持100万在线顾客。 这个第一代体系结构绝对不能继续,所以需要升级。
2.0的主要改进是将一台服务器扩展到群集并添加状态同步服务器。 在访问服务器之间同步联机状态,如下图所示。
这次升级帮助qq在2001年顺利突破了一百万网上客户。 然后,为了支持qq群,将2.0升级到2.5,追加了qq群服务器和群映射服务器。
在10万到100万的过程中,有两个重要的经验。 一个是后台体系结构的高性能,首先在六个方面实现。 绝对不使用公司级处理方案,逻辑层多流程,一个丢失的无锁设计,客户状态ipc,mysql库分表,朋友表自己写文件存储。 第二个是7×24小时365天连续服务,主要通过大系统的小规模工作、顺利重建、将核心数据放置在共享内存中、访问层和逻辑层分离、命令的一个个动态配置来实现。
成千上万级的在线尝试很难保持第二代体系结构。
由于2005年qq和在线迅速增长到数千万级,以前的体系结构再次面临挑战,突出的问题是同步流量过大,状态同步服务器面临独立瓶颈。 所有在线客户的在线新闻量太大,一台访问服务器无法保存。 一台状态同步服务器不能支持所有的在线客户。 一台访问服务器不能支持所有在线客户的在线状态消息。。 没办法,不得不重新升级,3.0时代到了。
3.0改造的第一个优点是全面的集群化,如下图所示。
但是事件并没有我们想象的那么顺利,很快就产生了新的问题。
问题1 :后台机器很多,经常发生独立的死机/故障,idc的故障也不少,影响服务,也影响人员的生活。 分解我们的决定加快灾难恢复,存储集群建立半自动切换模式,业务集群、访问集群、同步集群建立自动切换模式,后台分布在两个idc,有指挥中心设备的健康状况
问题2 :每周发布新代码,不断出现错误,严重影响服务。 这个问题使用code review和灰度分发的方法处理得比较有效。
问题3 :监视机构原始,警报设定不完全,即使发生事故也不知道。 这促使我们建立完全的监视和警报机制。
问题4 :运维的操作在vim或mysql中进行,非常容易出错。 我们通过运维操作的web化(半自动化)、自动化比较有效地处理了这个问题,服务的可用性终于提高到了领域的先进水平。
通过处理以上问题,如下图所示得到了3.5架构。
在这个阶段,我们必须取得以下经验,架构对外提供高可用性的服务,在内部提供高运输性的系统。 它还利用灰度公开、操作监视、灾难恢复和运输维自动化/半自动化等方法处理体系结构问题。
亿级网上的飞跃,在新时代伴随着新的烦恼
随着在线亿时代的到来,也出现了新的问题和烦恼。 首先是灵活性的问题。 例如,qq昵称长度减半需要两个月。 增加家乡的场地需要两个月。 增加最大朋友数需要三个月才能从500变成1000。 第二,在亿时代,有几万朋友等,需要一点重要的能力。 隐私管理Pqq和手机QQ不要互相踢。 异地灾害,即一个城市发生问题时,也可以在其他城市提供服务等。 但是,亿时代带来的最大挑战是原始im后台从1.0改造升级到3.5,im后台1.0的代码在3.5以下,但这种持续的修补方法已经支持了亿级客户 因此,除了以下的公共部分,im背景4.0必须从零开始,重新设计实现。
im后台4.0存储系统完成了三年,支持数千万级朋友在线,加强隐私权限控制,灵活扩展字段。 本来扩张场地需要两三个月,现在只需要一周。 此外,它具有很高的运输性和高性能。
我希望im后台4.0通信系统两年多,体系结构比以往多,复杂,再过一年就能完成。 迄今为止,取得了一些成果。 首先,多点登录可以管理不同的登录终端。 支持5亿~10亿个实例,实现容易访问在线微信等多种业务的区域自治。
在亿级在线时代,必要的关键技术首先是提供灵活的业务支持。 以前,it领域可能需要半年到两年的新版本,而网络领域可能需要每月的新版本。 此外,保持高性能、高可用性和高运输性。 展望腾讯im服务的未来道路,全球化分布、高效研发、监视警报智能化已成为未来快速发展的战术。
“四高”准则,qqim背景技术进化的启示
在qqim后台技术的进化过程中,10万级和100万级的在线要求高性能、7*24小时全天候服务等,各级要求的技术在不同的成千上万级要求高可用性和高运输性。 亿级网上要求高性能、高可用性、高运输性、高灵活性的“四高”标准,每提高一个水平,对应的四高就有相应的要求,技术难度也提高一个水平。
团队经历了从1.4万到千亿级的飞跃过程,难免有很多教训。 正是因为积累了这些技术,才变成了今天这样的大规模。 互联网领域与以往传来的it领域不同,有自己的技术规则,需要进行自己的技术积累。
除了im业务,腾讯企业在很多不同的业务中都走了一点弯路,积累了相应的经验,一边重建一边生活,缩小大系统,先扛,优化,清洁……这些是不断试行错误和总结中得到的理念
中间总结
腾讯大礼堂首次离开,参加者人数超过600人,会场客满,气氛热烈。 “文案全面”、“干货多”是这次共享的一大特色,观众积极地进行提问交流,在网上进行持续的交流和讨论,给活动组织者带来了自信和经验。
北航之行结束了,腾讯大礼堂走出的路才刚刚开始,邀请越来越多的企业专家、媒体、高中合作者参加腾讯大礼堂共享的行列。
标题:“1亿在线背后的技术挑战腾讯大讲堂超给力讲座文案流出”
地址:http://www.china-huali.com/cjxw/38155.html