资讯网最新发布:天呐!赵丽颖现身女儿国庆功会,拍照居然像劳改犯的? 从零起步学吉他真的可以学会吗? 【温宣一周汇3.20-3.26】2017温州国际时尚文化创意产业博览会开幕 商标注册盲期是什么?如何避免商标注册盲期? 邯郸市一中2017年物理竞赛全国决赛再获佳绩! 盒马鲜生火了,其他生鲜电商怎么办?  

腾讯QQ日请求12亿的运营平台到底有多diao(三声)?

作者目前在SNG增值产品部工作,主要负责QQ会员会员特权和AMS系统的相关工作。作者之前有AMS系统相关的文章《日请求从百万到八亿的技术历程》

本文的内容主要分为三个部分:

AMS是一个活动运营平台,什么是活动?

活动就上图体现的四个页面,这些都叫活动。梅州资讯网这时候可能有同学说,"楼主,我读书多你不用骗我,这上面东西很简单,这里会不会一点技术含量都没有?"

是的,如果本文的东西只是这上面几个页面的话,肯定是没有什么技术含量。但是如果将他们放到比较大的流量规模下,15万每秒,就会变成具有挑战的问题。

简单介绍一下 AMS,其实是QQ会员的活动运营平台,这个平台的日请求量大概是4到12亿,背后涉及的存储和服务超过了120个,高峰期的请求量是15万每秒。

这个系统也支撑了腾讯公司相关的业务,我们连续两年参加了QQ春节红包的活动。在今年除夕夜晚上,你可能正在跟家里人吃着饭看着电视,而这时候我则在公司值班,一直值班到大年初一的凌晨三四点,所以做这个系统也不那么容易。

关于这个活动会面临哪些挑战呢?主要有三个方面的挑战。

第一个问题是关于如何评估流量链路的问题,第一步就需要把我们的系统架构给画出来,我现在画的是简化图,先将用户跟每个子系统的关系,但这是业务层面的,具体到 server 和存储。

上面这个图主要分为两个部分,一部分是请求领取页面,后面是比较复杂的动态系统。画出这个东西是为了下面一步,就是以具体功能的节点,把用户涉及的所有链路一个一个梳理并且画出来。

比如以查询游戏角色的信息相关的东西为链路,用户首先是领到一个红包,点击领取红包到领取页,在页面可能会是点击一个按钮,然后发送请求,请求先到我们的 STGW(也就是反向代理),然后到 WEB server,再到 Cmem,再到 IDIP 以及背后的庞大的链路。

通过这种方式可以把每个功能点进行拆解和梳理,当我们得到这个图以后,如果只扩容 web server,不扩容后面的每个链路每个环节,扩容是不成立的。

有一个观点是只要有钱购买足够的机器,可以把对机器的方式对接下来,但是这个观点是不准确的。如果不能把每个架构做充分梳理和扩容的话,涉及到状态有关的服务是无法进行扩容的。

怎么评估系统在那天的真实流量规模呢?

第一点就是推广量,你的流量怎么来,有些流量是我给 web 上广告,有些是通过 APP 流量数,这里可以得到数量,就是流量来源,然后拿到每个环节的转化率,一百个人看到这个广告,有多少人会点?

假设是20%,每个环节的转化率怎么来?一个是经验,你以前在这边上流量广告的转换率是多少。如果没有各个环节转化率的数据可以通过演习,你的活动当天可能是超大规模的,但是你可以先一部分灰度,把流量先转出来。

一百个用户有二十个人会点击领取页面,领取页面一个页面涉及到了单UV的概念,一个用户到页面可能会发起三四个静态资源请求,同时还会发出三到四个的动态相关资源的请求,这里面就要把产生的行为形成一个倍数,再把评估出来的容量估值为3倍。

以一个例子来展示:假设有一个用户领到的游戏红包是一百个人每秒的,但是这一百人当中只有60人点击进来,点击页面的人又只有30个人是真的会去点领取按钮,就用链路算出了UV值,到这个位置是需要做转换的,因为单UV的总数,可能是四个请求,假设是四个,那应该是120每秒,这120每秒意味着背后所有链路必须都能支撑120每秒,所以整个后面的环节都应该是120每秒。

通过前面的几个从推广曝光的数量,最后推算出预估值的 QBS 压力是多少。根据多年的扩容公式,估值为3倍是比较合理的,我们需要把几个对应的环节180乘以3倍也就是360的扩容。

同样的方式,我们在流量层面也进行了相关扩容方面的探测和预估,但在真实场景中梳理业务需要多少流量呢?

需要9.6万每秒,差不多是10万每秒。连数字都知道了,不就是把每个环节扩容到10万每秒,问题就解决了?听起来是这样,但是大家都知道,理想是美好的,现实往往残酷,真的每个系统都能扩容到10万每秒吗?

我们遇到了一些白沙资讯网难题,发现在整个链路中,像 web server,很轻松可以到14万每秒,但是有些地方是没办法的,包含第三方不可控的,假设我跟外部公司有通讯结合,或者跨了部门或跨了BG,有些系统就是难以扩容的,这时候我们在扩容上就遇到了难题。

比如像银行发账或者对账的接口,你说今天搞活动要扩容20倍,这个是不大科学的。我们就会遇到数量评估出来了,扩容却遇到问题,那怎么办呢?

那就是第二个话题,既然预估了数目又没法扩容,就涉及到高可用架构设计实践。

怎么从架构层面解决问题,从直观的思路一般是分为三个方面。

接下来就遇到扩容评估的相关要素,这些要素不只是上面几个点,你要细分的话有好几个细的点,但是主要评估的点是链路的 QPS,还有一些存储,包括磁盘大小、内存大小是否足够,以及带宽,带宽问题静态文件和动态的请求都是需要合适计算一下的。

这里面另外一点就是静态资源怎么解决,其实一个用户在进入页面,静态请求量是很大的,如果进入到一个页面,同时拉起好几个图片,它的拉取是很大的,虽然UV是两三万QPS,但是往往要乘以七八个甚至更多的倍数。

所以这种情况下这种流量,哪怕你用的是部署CDN,就是地理式存储,这种对服务都是有压力的,尤其是对带宽,有些带宽可能由于不足而导致请求响应更加缓慢。

那我们怎么解决?解决方案是用离线包的机制,我们会先把静态资源都准备好,当你的手机 QQ 在 WIFI 情况下会主动提前把春节红包要用到的图片给提前拉下来,放到你的内置浏览器。

等到真正参加活动的时候,静态文件几乎都是用你本地的,相当于你根本没有发起网络请求。也有一小部分用户从来没有在 WIFI 情况下触发拉取逻辑,但是这种用户是少数,所以绝大部分都是通过本地拉取的方式。

现在每个环节的流量知道怎么做了,也把扩容完成了,但是完成扩容只是理论上没有问题,要怀化资讯网想真正保证他们没有问题,还需要关注挺多点,这里面有几个要点。

首先是过载保护,每个环节层层建立控制开关和流量控制。

所以这相当于是层层开关,全部准备就绪,活动当天随时随地开启使用。这一句的结论是部分不可用,至少比彻底不可用强。

关于轻重分离,核心点就像发货请求,也就是核心请求,不希望被任何其他集群所影响到。轻重的对比在具体业务场景里面。

比如查询用户的XX信息,这东西是比较轻的,哪怕查询失败或者有误了,查询页面或者重试一下,对用户是不会造成损失的,这种请求是要用专项资源保证的。

这是粗略的架构图,但是我们的部署是抚州资讯网这样的,进行拆开,不会影响到背后发货的流程。

柔性可用关键是随时随地准备放弃一些非关键的路径,比如说上报或者不重要的操作,当然还包括一些业务层面的。在这方面的实现一般有两个方面的方法。

容灾的建设分为两块

首先监控是多维度的,比如说前端的返回码的成功率,流量的波动、礼包的发货量,分成不同的维度去监控整体数量,包括消息队列的堆积情况,每个环节的消耗情况,都要按不同维度监控起来,因为往往一个流量达到从来没有遇过的流量时,可能就不正常了,一到这个流量可能就看不见了,如果只有一个监控维度,它挂了就不知道处于什么状态。

我们用什么预案,这还涉及到决策,要基于当前有充分数据,有当前系统有充分了解情况下才能做出正确的决策,如果没有足够多的监控数据来辅助做预案启动还是不启动的话,相当于抓瞎,那是非常危险的。

所以监控是比较多同学容易忽略的,怎么样让数据汇总在一起,容易的看,根据数据做预案决策。另外就是自动对账和补发脚本,尽可能早的源头记录相关数据,在最终到账的再记录,因为这中间经历了很多链路,是否有个链路考虑不全,导致部分用户就发失败了。

要知道我们的系统平时流量下很正常,但是极端的时候可能有意想不到的场景,甚至连日志都来不及打出来,这时候对账就很重要了,甚至包括一些很极端的你的信用出现重大问题的,一些关键模块挂掉了,影响了五六分钟,这五六分钟的数据仍然可以通过对账脚本进行补发,所以对账也是非常重要的一环,他们相对来说也是容易被大家所忽略的一环。

前面讲了很多管理、扩容、部署,这些东西都是依托在SNG由运维同学提供的强大系统,我们通过很多的工具,通过运维的指示体系,运维同学提供了在标准化、智能化非常高的平台,这个平台下能够使得我前面所讲的部署,什么跨机房、快速部署、扩容的流程得以快速和迅速实施,并且在实施过程中使得系统能够很顺利的跑下来,这是那天做这些活动的基础。

业务链路架构梳理完了,我们还改了很多东西,使得架构理论上扩容到可以支撑的量级,这里有个问题。活动当天到底有没有出问题呢?认为我的系统出问题的举手,看来大家对我的系统还是非常没有信心的。我前面做了这么多工作,你们就这样对我吗?当然有出问题,怎么可能不出问题?不出问题还是不正常的。

我们出了几个问题,第一个是流量超预期,原本评估是9.6万每秒,是为了省机器,扩容到14万每秒,但是均值达到12.6万每秒,峰值达到20万每秒,机器撑不住了。

实时上报 server 挂掉了,存储服务带宽跑满了,消息队列堆积非常严重,最高时候堆积达到了1200万,1200万请求进去以后,发货特别慢,问题很多。真的到了那天晚上不出问题是不正常的,你找一个大型活动长治资讯网不出问题的案例给我分享一下,我也想好好学习。

系统的状况是怎么样的呢?首先 web server 是高负载了,其中一个存储的服务带宽跑满了,导致请求都出不来,实时上报挂掉了,数据堆积非常严重,大家说我们慌不慌?这系统简直面目全非了,觉得我慌的同学还挺少。其实并不慌,因为我们准备了十几二十个预案,本来就是应对如果出现A问题就用A预案,出现B问题就用B预案。

刚才指出的问题在不在预案里面呢?基本都在。

通过前面的总结,我们的预案,准备的这十几二十个预案,我们抱着这样一个心态,如果这些预案一个都用不上,我们是很开心的,说明你的系统完全符合你的预期在线上跑了。

大家不要觉得这些预案很浪费时间,虽然真的很浪费时间,你总是假设我这个server挂了,假设存储挂了,每当加一个假设就要做一个预案,这个预案还需要耗费一定的工作,运维同学也是很辛苦,开发同学也很辛苦,但是这十几二十个预案真的出问题的时候,真的是救命的。

虽然我们希望这些预案一个都用不上,但是往往用上一两个都是救命的,如果我没有预案,遇到前面四个问题的话,我就真要被开除了。

总结一下这些问题:

所以有些原则该遵守的大家还是要遵守,也是我自己抱侥幸心理,这点我需要检讨。

另外就是实时 server 挂了,涉及到监控和产品业务数据,也是当时比较好提前考虑和纳入进来的。

最后是带宽,被跑满了,这也是我们梳理不到位,我关注一些静态资源,假设平时是两万每秒的系统,看看对应的存储大概的带宽情况,再用层级算一下预估量就有大内蒙古资讯网概值,这个问题如果有做详细的梳理是可以梳理出来的,本来是可以做得更好的。

最下面这个图是其中外网的入网流量量级,5.1G每秒,这对静态的图片量级并不大,但是这不是图片,是前面前端的普通HTTP包头,没有任何图片,这样的请求达到5.1G,也从侧面反映出我们当天的峰值还是比较高的。

本文围绕了三个主题进行了分享,现在做个总结。

首先是怎么建设高可用的系统,在大流量的场景下,第一点是需要对系统架构进行梳理,首先你能够把整个系统架构以图的形式画出来,画得越细越好,每个环节每个子系统都画到,基于这样一个架构图进行功能点的链路梳理,一个领取功能涉及哪几个环节,有没有重叠的,全部都计算出来。

因为任何流量压力都有来源,要么是上广告,这个广告的曝光是多少每秒,再加上你历史得到的、演习得到的数字进行汇总和计算,这样就可以得出流量的压力。

还有 APP 可以算当天登录每秒的峰值,大家觉得 APP 可能难算曝光,APP 可以按登录人数算,最高人数比如是五千每秒,那就按五千UB来算,按这个值折算成你的广告曝光带来的流量。

所以通过这种方式当把流量预估出来以后,对架构进行扩容评估,但是扩容评估中肯定会遇到跟状态相关或者第三方不可控的系统,这些系统也没办法直接完成平行扩容,就需要对它进行合适的改造,根据前面共同探讨的几个原则改造,改造完了以后就可以根据可用性的几个原则,对它进行增强,过载保护等等六个原则进行增强。

最后一点非常重要,就是梳理你的紧急预案,可能你会得到好几个紧急预案,进行梳理,做好表格,做好开关,让当天晚上值班的同学把表格读熟,出现什么问题就用什么预案。当我们做完以后,这个系统就可以真正去参加大流量的流量服务了。

近期好文:

点击"阅读原文",享受 GOPS北京站 特价优惠

当前文章:http://www.wx-fx.com/20171111/a38c7_15164.html

发布时间:2017-11-25 00:08:29

处女座的优点有哪些  兖州市长安居委会邮编  濮阳县律师排名  重庆巴南区简  临高县结婚  楚州区哪家饭店的鱼好吃  菏泽单县租车  日照市公共资源交易  齐齐哈尔市龙沙区国家税务  海门市职业技能鉴定服务  朝阳市凌源二手家具转让  南岗区快递网点查询  蛟河市新民村里吉林市多远  双鸭山市客运中  欢乐颂片尾曲mv现场版  

上一篇:北京清理奇葩证明扩至所有单位5种证明将叫停 下一篇:"2017爱?乐国际音乐大赛"总决赛北京落幕

资讯网相关阅读

http://www.kuaimin.cn/kmw7xb/20171027/397301381.htmlhttp://www.kuaimin.cn/kmwj7nu7ova/index.htmlhttp://www.kuaimin.cn/kmwsc4e/20171027/98345658.htmlhttp://www.kuaimin.cn/kmwtbiq.xmlhttp://www.kuaimin.cn/kmw8zdjyp/20171027/5949791461.htmlhttp://www.kuaimin.cn/kmwseuh4z8p.htmlhttp://www.kuaimin.cn/kmwunmf9sn.htmlhttp://www.kuaimin.cn/kmw-158954-1.htmlhttp://www.kuaimin.cn/kmw-7632850-1.htmlhttp://www.kuaimin.cn/kmw-6978-1.htmlhttp://www.kuaimin.cn/kmwd9r2fmm/http://www.kuaimin.cn/kmwwci4d/20171027/2667254162.htmlhttp://www.kuaimin.cn/kmw8qd/20171027/807234225.htmlhttp://www.kuaimin.cn/kmwtb72p8j.xmlhttp://www.kuaimin.cn/kmwxuw/index.htmlhttp://www.kuaimin.cn/kmw4unfpp.htmlhttp://www.kuaimin.cn/kmwxjy.xmlhttp://www.kuaimin.cn/kmwljn4v/20171027/4185202232.htmlhttp://www.kuaimin.cn/kmweaqkl1.htmlhttp://www.kuaimin.cn/kmwu4a/index.htmlhttp://www.kuaimin.cn/kmwj7viwu2.xmlhttp://www.kuaimin.cn/kmw-84336949-1.htmlhttp://www.kuaimin.cn/kmwxynv.htmlhttp://www.kuaimin.cn/kmwvk1qm7o.htmlhttp://www.kuaimin.cn/kmwuyey3eey.xmlhttp://www.kuaimin.cn/kmw-6037532-1.htmlhttp://www.kuaimin.cn/kmwpnwttjv/http://www.kuaimin.cn/kmwm2xx36cf.xmlhttp://www.kuaimin.cn/kmwac1bv7gb/20171027/3210534791.htmlhttp://www.kuaimin.cn/kmwrnupd693.htmlhttp://www.kuaimin.cn/kmwfec97ni/20171027/383582970.htmlhttp://www.kuaimin.cn/kmwyho/20171027/9467402417.htmlhttp://www.kuaimin.cn/kmw815/http://www.kuaimin.cn/kmwaai1t1f.xmlhttp://www.kuaimin.cn/kmw7mym8nr.htmlhttp://www.kuaimin.cn/kmwyxlevyu/20171027/4199233229.htmlhttp://www.kuaimin.cn/kmwhc3ofrz/http://www.kuaimin.cn/kmwjkwapnk/20171027/9759774491.htmlhttp://www.kuaimin.cn/kmwtomanv/20171027/3920574896.htmlhttp://www.kuaimin.cn/kmwxgosadr/index.htmlhttp://www.kuaimin.cn/kmwb21254x.htmlhttp://www.kuaimin.cn/kmwniie.xmlhttp://www.kuaimin.cn/kmwgyaf7nvw/index.htmlhttp://www.kuaimin.cn/kmw-80700741-1.htmlhttp://www.kuaimin.cn/kmw-689899-1.htmlhttp://www.kuaimin.cn/kmwf7n5i4/http://www.kuaimin.cn/kmw1of/http://www.kuaimin.cn/kmwszsxef/20171027/8218953225.htmlhttp://www.kuaimin.cn/kmw5i64r/http://www.kuaimin.cn/kmwpm9/index.htmlhttp://gxofnt.cnhttp://dvulyx.cnhttp://jbsgit.cnhttp://zevgvm.cnhttp://ofoqtv.cnhttp://hntuo.comhttp://scbiao.comhttp://www.feiluoguoji.com/q45xx/sbh.htmlhttp://kkjpk.cn/http://baiying360.cn/https://tieba.baidu.com/p/5442205505http://bbs.zhige.net/forum-41-16.htmlhttp://www.btrzj.comhttp://blog.sina.com.cn/s/blog_172939b7c0102xgsr.htmlhttp://kkjck.cn/http://kkjlk.cn/http://kkjgk.cn/http://hkyachi.cnhttp://bbs.zhige.net/forum-41-1000.htmlhttp://bbs.zhige.net/forum-41-10.htmlhttp://bbs.zhige.net/forum-41-1.htmlhttp://www.gaofangxievip.com/news/?532.htmlhttp://www.gaofangxievip.com/news/?516.htmlhttp://kkiwk.cn/http://bbs.zhige.net/forum.php?gid=40http://guseji.cn/show.aspxhttp://www.1rxj3.comhttp://zxyachi.cnhttp://www.lddp138.comhttp://zzyake.cnhttp://zbyake.cnhttp://yhyachi.cnhttp://agagag074.comhttp://agagag094.comhttp://bzyachi.cnhttp://cspreo.cnhttp://www.feiluoguoji.com/z1/fso.htmlhttp://icandata.com/e.phphttp://www.feiluoguoji.com/pdjv2/0xskvdf.htmlhttp://www.0554dsw.com/gnxw/20171115/128731.htmlhttps://tieba.baidu.com/p/5329343018http://www.cn/hanzhong.comhttp://www.feiluoguoji.com/web/5zl63t4.htmlhttp://www.feiluoguoji.com/0fjz/24b.htmlhttp://www.feiluoguoji.com/m38i9/qs1.htmlhttp://bbs.zhige.net/forum-42-716.htmlhttp://www.0cm2b.comhttp://www.056713.comhttp://ganhow.comhttp://wyg3.com/0/22/index.html钢筋网片格栅板物流公司南宁室内装修南宁别墅装修网易贵金属直播金易通贵金属直播室原油直播间采金网贵金属开户天然气直播铁丝网围栏钢格栅板投资公司御姐托业南宁装修样板房北京赛车技巧期货模拟交易百度搜索老司机紫檀网留守儿童可燃冰十二生肖霸王别姬大闹天竺1111111111传奇发布网银行卡北京赛车技巧都市小说,顶点小说,都市小说排行,都市小说在线阅读网站地图散热器厂家期货市场实时更新优惠券贺词低价超值伟哥伟哥爱电影优惠券精选