首页 >> 通信制造 >> 设备市场 >> 正文
 
1亿在线背后的技术挑战——腾讯大讲堂超给力讲座内容流出
http://www.cww.net.cn   2011年11月16日 11:00    通信世界网    

2.0的主要改进在于单台服务器扩展成集群,增加状态同步服务器。在接入服务器之间同步在线状态,如下图所示。

image003.png

这次升级帮助QQ在2001年顺利突破100万在线用户数。随后为了支持QQ群,又将2.0升级到2.5,增加了QQ群服务器和群贴图服务器。

在从十万到百万的过程中,有两个重要的经验,一是后台架构的高性能,主要通过六个方面实现:绝对不用企业级解决方案,逻辑层多进程,万有一失的无锁设计,用户态IPC,MySQL分库分表,好友表自写文件存储。二是7乘24小时连续服务,主要通过以下方法实现的:大系统小做,平滑重构,核心数据放入共享内存,接入层与逻辑层分离,命令分发动态配置化。

千万级在线的考验,第二代架构难维系

2005年QQ同时在线迅速增长到千万级,于是之前的架构再次面临挑战,突出的问题主要体现在,同步流量太大,状态同步服务器遇到单机瓶颈;所有在线用户的在线状态信息量太大,单台接入服务器存不下;单台状态同步服务器支撑不下所有在线用户;单台接入服务器支撑不下所有在线用户的在线状态信息。没有办法,只得进行再次升级,3.0时代到来。

3.0改造的主要特点是全面的集群化,如下图所示。

image005.png

但是事情并非我们想象的那样顺利,很快新问题产生了。

问题一:后台机器越来越多,单机死机/故障经常出现,IDC故障也不少,影响服务,也影响人员生活。经过分析我们决定加速容灾改造,存储集群建立半自动切换模式,业务集群、接入集群、同步集群建立自动切换模式,后台分布在两套IDC,并有指挥中心设备健康状态。

问题二:每周有新代码发布,BUG不断出现,严重影响服务。这个问题我们采用Code Review和灰度发布的方法,得到有效的解决。

问题三:监控机制原始、报警设置不全,出事了都不知道。这个促使我们完善监控和报警机制。

问题四:运维操作通过vim或者mysql进行,非常容易失误。我们通过运维操作Web化(半自动化)、自动化有效的解决了这个问题,并服务可用性终于提升到了行业先进水平。

[1]  [2]  [3]  [4]  
编 辑:高娟    联系电话:010-67110006-853
分享到新浪微博 分享到搜狐微博 分享到腾讯微博 分享到网易微博 分享到139说客 分享到校内人人网 分享到开心网 分享到QQ空间 分享到豆瓣 分享到QQ书签       收藏   打印  论坛   推荐给朋友
关键字搜索:腾讯  
文章评论查看评论()
昵称:  验证码:
 
相关新闻
即时新闻
通信技术
最新方案
企业黄页
会议活动