腾讯:3亿人次实战演习验证异地容灾架构与快速调度能力
《腾讯:3亿人次实战演习验证异地容灾架构与快速调度能力》要点: 作者介绍: 李光 现就职于腾讯SNG社交网络运营部,负责SNG移动类产品的业务运维,同时也负责运营平台规划与运维产品运营推广工作 前言 社交网络事业群拥有众多海量规模的业务,在海量的运营压力下,服务器设备的数量也突破了10w大关,并有序的分布在全国不同的IDC中实现异地容灾的高可用架构. 但正因为社交业务的多IDC管理的复杂性,使运维小伙伴们经常会遇见一些难搞定的场景,如运营商网络出口异常流量骤降、网络延时突增、IDC断电断网、光纤被挖断等突发事件,假设没有第一时间发现和处理好这些事件,就会有较大的机率影响腾讯社交产品的服务质量,甚至会造成用户大范围的登录与访问中断. 如何在种种不可控的突发情况来临时,业务能在用户“零感知”的情况下第一时间恢复服务质量呢?这就需要我们的业务要有健壮的异地容灾架构与快速的全网调度能力. 本文介绍的是手机QQ与Qzone两个服务于海量用户的平台级业务,在无损用户服务质量的基准原则下,通过亿量级人次的限时调度实战演习来验证我们的异地容灾架构与快速调度能力.
一、三地三活的容灾能力海量服务之道就是要给亿级用户持续提供高质量与分级可控的服务,所有的研发与运维行为都应该围绕保障与提升用户服务质量展开,面对种种不可控的突发情况时,恢复业务的服务质量为最高优先级要务. 让我们把时间拨回一年前,2015年8.13日天津爆炸事件,相信很多的互联网从业人员都印象颇深,腾讯天津数据中心距离起爆点直线距离仅一公里,可能会受到波及,华北7000多万QQ用户将面临着登陆和访问中断的可能,那天晚上我们通过多次调度与柔性控制,在用户“零感知”的情况下,顺利的将天津全量用户调回深圳. 容灾能力是服务于业务,随着业务的持续发展.现在我们的整体容灾架构是三地分布,三地三活,在各业务分布上实现set化部署,链路均衡分布,完善容量架构,从而减少风险. QQ与Qzone的容灾能力演进主路线也是单地—>双地—>三地,三地分布也提升了服务质量,方便用户更加的就近接入.
二、风驰电掣的调度能力对于调度用户,一般都是从流量入口即接入层分流用户,双平台也沿用与此思路. 1.手机QQ接入层前端支撑手Q2.59亿同时在线用户,后端连接几百个业务模块,接入层上千台机器主要分布在三大城市的数十个IDC,每分钟处理20多亿个业务包,7*24小时不间断为亿万用户提供着稳定的接入服务……这就是手Q接入层SSO. 手Q终端与SSO之间并不是直连的,两者之间还加入了TGW,TGW全称是TencentGateway,它是公司内部自主研发的一套多网统一接入,支持负载均衡的系统;它具有可靠性高、扩展性强、性能好、抗攻击能力强等特点.加入TGW后终端与SSO、后台之间的关系如下图所示: QQ用户登录概要流程如下图所示: Qzone的主要流量入口来自手Q,因此双平台用户可以联动调度. 2. 调度能力介绍调度动作概要来说就是干预用户的接入点,下图是一个非常概要的流程:
根据业务发展的推动与场景的细化,双平台的调度能力主要为两个方向.
重定向调度:
在对后台无冲击压力的情况下,我们可以完成千万在线用户10分钟之内调度完毕,并且在调度期间用户无感知,上图就是我们在单次调度时清空一地在线用户数的下降速率. 调度场景:
调度操作:
三、3亿人次的实战演习我们先来看两个场景,相信这两个场景运维小伙伴或多或少都可能经历过. 故事场景1: (编辑:ASP站长网) |