|
1亿在线背后的技术挑战——腾讯大讲堂超给力讲座内容流出
http://www.cww.net.cn 2011年11月16日 11:00 通信世界网
2.0的主要改进在于单台服务器扩展成集群,增加状态同步服务器。在接入服务器之间同步在线状态,如下图所示。 这次升级帮助QQ在2001年顺利突破100万在线用户数。随后为了支持QQ群,又将2.0升级到2.5,增加了QQ群服务器和群贴图服务器。 在从十万到百万的过程中,有两个重要的经验,一是后台架构的高性能,主要通过六个方面实现:绝对不用企业级解决方案,逻辑层多进程,万有一失的无锁设计,用户态IPC,MySQL分库分表,好友表自写文件存储。二是7乘24小时连续服务,主要通过以下方法实现的:大系统小做,平滑重构,核心数据放入共享内存,接入层与逻辑层分离,命令分发动态配置化。 千万级在线的考验,第二代架构难维系 2005年QQ同时在线迅速增长到千万级,于是之前的架构再次面临挑战,突出的问题主要体现在,同步流量太大,状态同步服务器遇到单机瓶颈;所有在线用户的在线状态信息量太大,单台接入服务器存不下;单台状态同步服务器支撑不下所有在线用户;单台接入服务器支撑不下所有在线用户的在线状态信息。没有办法,只得进行再次升级,3.0时代到来。 3.0改造的主要特点是全面的集群化,如下图所示。 但是事情并非我们想象的那样顺利,很快新问题产生了。 问题一:后台机器越来越多,单机死机/故障经常出现,IDC故障也不少,影响服务,也影响人员生活。经过分析我们决定加速容灾改造,存储集群建立半自动切换模式,业务集群、接入集群、同步集群建立自动切换模式,后台分布在两套IDC,并有指挥中心设备健康状态。 问题二:每周有新代码发布,BUG不断出现,严重影响服务。这个问题我们采用Code Review和灰度发布的方法,得到有效的解决。 问题三:监控机制原始、报警设置不全,出事了都不知道。这个促使我们完善监控和报警机制。 问题四:运维操作通过vim或者mysql进行,非常容易失误。我们通过运维操作Web化(半自动化)、自动化有效的解决了这个问题,并服务可用性终于提升到了行业先进水平。 编 辑:高娟 联系电话:010-67110006-853
关键字搜索:腾讯
文章评论【查看评论()】
|
企业黄页 会议活动 |