微信春晚红包的10亿个红包,到底难在哪儿?

4800倍的挑战

今年微信红包方式与去年用户与用户之间互发红包相比,摇红包的方式对业务量来说是一个极大的爆发,光是除夕10:30送出的一波红包就达到了1.2亿个,已经是2014年除夕夜峰值的4800倍之巨(2014年峰值每分钟被拆开红包数量仅2.5W个)!
发10亿红包,难在哪里?

微信团队总结下来有三大难点:快——如何保证用户快速摇到红包?准——如何保证摇到的红包能成功拆开?稳——如何保证拆开的红包能分享出去?

大量用户在同一时间摇红包,瞬间产生每秒千万级的请求,这个量级的请求如果不加以疏导处理直接到达后台,必定会导致后端服务过载甚至崩溃。上文中除夕当天后台监控数据曲线便能说明一切——在前台重重的分流减压下,后台服务器负载仍然瞬间飙升十倍以上。

三大应对策略齐上阵

对于以上三个难点,微信后台开发团队主要通过三大应对策略应对:有损服务,柔性可用,大系统小做

什么是有损服务?有损服务是通过精心拆分产品流程,选择性牺牲一部分数据一致性和完整性从而保证核心功能绝大多数运行。这是腾讯在PC时代积累下来的一种特色运营策略——在资源一定的前提下,互联网条件千变万化的场景中,量力而为,满足用户的核心需求。

微信红包的核心点是摇,拆,分享红包,整个系统设计时必须尽最大可能保证这三个步骤一气呵成,任何关联系统出现异常的时候马上进行系统降级,防止引起系统雪崩。

系统降级可以分为两个方面,一是把核心功能进行分拆和简化,通过辅助轻量化的服务实现,确保最短关键路径的可行,比方说在接入层置入摇红包逻辑,将每秒千万级请求转化为每秒万级的红包请求,再传到红包服务的后端逻辑,降低雪崩的可能性。

同时后端采用异步分拆,接收到用户请求时仅进行合法性验证,验证完成后直接告知成功,后续业务逻辑进入异步队列进行处理,减少了用户的等待时间,也极大降低了峰值雪崩的概率。
另外一方面是采取过载保护措施。微信红包的过载保护在客户端已提前预埋了策略,在连接失败或超时情况下会有相应提示,减少用户重复请求次数。接入层面也会进行自我保护,针对频繁发出请求的客户端限制响应速度,并对系统负载划分出若干等级,达到不同阈值时引导客户端使用不同限速速率;在异常情况出现时,采取减少红包数,异步限流降低拆/分享红包的速率等措施减轻服务器端压力;与此同时,微信红包还有全程压测流程,对整个业务链接进行自动提前评估,防止过载。
在有损服务思想的重重保护下,第一波的摇红包体验活动中,微信红包几乎满分通过考验,其中过载保护的作用相当明显,在客户端、接入层层减压、过滤,最终仅把十万级压力传递到后台。

柔性可用是在有损服务价值观支持下的方法,重点在于实际上会结合用户使用场景,根据资源消耗,调整产品策略,设计几个级别不同的用户体验场景,保证尽可能成功返回关键数据,并正常接受请求,绝不轻易倒下。

柔性服务更具有产品的思维性质,意义在于深刻理解产品每一个场景的核心价值,把握用户在每一个场景中的核心需求,设计不同层次的满足核心诉求的办法,对柔性服务在微信红包中的实践,红包团队也有相应的措施,主要可以分为几大类。

1、系统容灾:面对大规模的请求量,系统容灾必不可少,容灾一般可分为逻辑层容灾和数据层容灾,这次微信后台开发团队在容灾布置中采用30%切换的逻辑层方案,即核心服务都能做到最多1/3服务器出问题的情况下自动容灾切换以保证服务质量,提高预警级别换取系统的可用性。

2、资源隔离:顾名思义就是把资源进行隔离减少服务支路间的影响,从逻辑入手,在资源逻辑中,当A服务同时分派任务给BC服务时,设定单个最大分配上限值,避免任意一个支路出问题影响整个服务链条,这样即使部分服务出现问题也不会影响到整个服务的崩塌。

3、快速拒绝:当服务过载时尽早拒绝请求,由服务调用方换机重试避免单一服务器重试过载,快速拒绝和有损服务中的及早拒绝是一个概念的方法,从过程的源头将问题解决,成本越低,影响越小,前端保护后端的方式来解决问题。

4、支付分组:从支付环节入手,将所有红包分为50个组,放在50个单独的set上互不影响,单组set出问题最多只影响1/50用户,保证多数人服务不受干扰。分组set化也是柔性可用的一个重要技术手段,这一思维非常类似于现实生活中的集装箱思维——通过标准化,规模化的箱体设计,应对复杂多样的货物,使每个流通环节既独立又不失灵活。

5、流量预加载:从客户端入手,将语音图片等极消耗流量的资源提前让客户端自动下载预置好,提前将流量洪峰疏导,并在活动当天CDN将准备数百G带宽应对,这块也与过载保护中的快慢分离是相通的,将耗流量的服务提前加载避免高峰期间的冲突。

大系统小做应该来说,是一种意识,他的核心思想是将功能复杂较大的系统,化大为小,减少模块耦合,降低关联性,用多个独立的模块来实现整体系统的功能,大系统小做采用的是化繁为简,分而治之,便于开发和迅速实现。

微信红包如此庞大的后台系统,模块也相当之多,而这次的模块微信开发后台团队采用了系统高度模块化的方式,分成一个个高度自制的小系统,形成高内聚低耦合的格局,每个模块之间不会过分依赖对方,这样的好处是不会因为任何一个模块而影响全部服务,避免牵一发动全身的风险,实现真正的灰度服务。

海量服务能力决定成败

从2014的滴滴打车,到2015的微信红包,腾讯用一个个案例,去证明自身在海量服务方面的实力。事实上,真正支撑起微信红包顺畅运营的幕后英雄,正是腾讯内部一个叫做“海量之道2.0”的技术体系。有损服务,柔性服务,大系统小做三大手段也是脱胎于此体系中。移动互联网大战硝烟味愈浓,BAT都在为争夺支付入口使出浑身解数,在业务从起步到小跑再到腾飞的过程中,巨头背后的海量服务能力将对其最终成败有着来越发深远的影响。

时间: 2024-10-04 09:44:46

微信春晚红包的10亿个红包,到底难在哪儿?的相关文章

如果春晚刷纯在感,阿里腾讯绝对和春晚绑在一起?

如果春晚刷纯在感,阿里腾讯绝对和春晚绑在一起,就是在几年前,微信"红包"借助春晚这个平台,让微信支付用户暴涨,而对于微信支付的竞争对手支付宝来说,已经"包下"春晚三年或者更长的时间,通过春晚和微信争夺用户! 春晚,全称是中央电视台春节联欢晚会,集结了一代人的回忆,春晚也成就了一大批明星.小品.歌曲--而现在这个影响力正在减弱,在五年前,春晚是网友吐槽的对象,而从微信发红包开始,春晚成了互联网巨头发红包,营销的重要阵地,如果没有这"真金白银"的刺激

微信工程师为你讲述春晚红包的系统设计和优化

羊年春晚,微信收发总数为10.1亿次红包,高峰期出现在00:00~00:02,瞬间峰值达到每分钟55万个红包被发出,165万个红包被拆开(更多数据请参考羊年春节微信数据大解析),这么大的数据量几乎没有出现宕机的情况发生,他们是如何做到的?让微信工程师为你讲述春晚红包的系统设计和优化. 讲师:jeri 核心功能&目标 首先,了解下微信红包的4个逻辑:摇/发/抢/拆.看似简单,实现可不简单再review下微信红包要实现目标: 摇:摇的流畅 快:抢的要快 爽:拆的爽 稳:能分享出去 系统难点 1.中国

扛住100亿次请求——如何做一个“有把握”的春晚红包系统?(转载)

转载:原文链接 扛住100亿次请求——如何做一个“有把握”的春晚红包系统? 羊年春晚摇一摇活动已经落下帷幕,现在回过头来看看这一全民参与的有趣的活动背后,有着怎样的后台系统?这个系统又是如何被设计与实现出来的? 1.   春晚摇一摇活动形式 在了解这个系统之前,先看看羊年春晚有哪些活动形式?春晚摇一摇复用了摇一摇入口,但提供了全新的界面和交互内容. 在羊年春晚摇一摇界面里,用户摇动手机后,可以看到明星拜年.全家福.好友贺卡等精彩纷呈的活动页:也会有温馨的“休息一下”,或让很多误以为中奖的“挂服务

2019年春节春晚红包大战战报!30亿!

我正在知识星球「赚钱笔记免费版」和朋友们讨论有趣的话题,你?起来吧?https://t.zsxq.com/ayVvVzB全网已公布的红包累计: 30亿!(1月29日更新)抖音入场,活动启动:集音符,瓜分5亿!(1月28日)百度正式公布红包计划:瓜分10亿,春节当天发9亿!(1月25日)今日头条红包计划启动:发财中国年,抢10亿现金!(1月24日)支付宝集福计划计划启动:集五福,瓜分5亿!支付宝: 5 亿 (集五福)今日头条: 10 亿 (集卡 & 红包雨)百度: 10 亿 (集福气 & 春

抢红包、摇春晚:微信春节用户大数据揭秘

今年,微信通过春晚“摇一摇”互动.微信红包.摇礼券等丰富的形式陪伴全国人民度过了一个欢乐的羊年春节.数据显示,羊年春晚微信摇一摇互动总次数超过110亿次,央视春晚摇红包创造了全民欢乐互动的历史,让“看春晚”.“抢红包”.“摇一摇”成了2015亿万中国家庭的新年关键词. 而微信红包也成为了今年春节最受欢迎的祝福方式,“有微信红包才是过新年”由此成为更多人的心声.除夕至初五(共六日),微信红包收发总量为32.7亿次,其中除夕当日收发总数达到10.1亿次,创下了历史新高. 全民狂欢:央视春晚微信摇一摇

百度公布红包计划,10亿!春节当天发9亿,全网红包累计已达25亿

公众号原文:https://mp.weixin.qq.com/s/FjJKr8b_jrih0eKW4OHiVQ 百度今天在公众号上,正式公布了春节红包金额: 10亿 春节当天发9亿 至此,已公布的春节红包金额累计达25亿,分别是: 支付宝: 5 亿(集五福) 今日头条:10 亿(集卡&红包雨) 百度: 10 亿(集福气&春晚红包) 腾讯系至今未公布.未推广任何红包计划,莫非今年想缺席? 2019年1月28日更新,抢红包日程表 (关注"团购好货",回复"日程表&

支付宝狂撒10亿红包背后,是马云被围猎的痛苦

段时间,支付宝红包活动十分火热,短信.朋友圈.微信群--几乎到处都是支付宝的红包活动信息.一时之间,支付宝的豪气被人广为传颂,火遍了全国. 只是,在支付宝豪气洒脱的红包背后,却是马云被围猎的痛苦. 一.焦虑的支付宝 1.微信用户规模.使用频率远超支付宝 相比微信,支付宝不管是在用户数还是使用频率上都处于绝对的劣势.目前支付宝实名用户4.5亿,微信活跃用户9.8亿,虽然二者不能直接相比,但就用户数量来说,支付宝的用户确实要比微信少得多:使用频率上,微信天然的社交属性使得用户随时随地都在使用,而支付

央视春晚摇一摇最有可能颠覆哪些行业?

昨 晚,全国人民都在跟随着央视春晚摇动着手机.摇啊摇,有的摇出了红包,有的摇出了卡券.开玩笑的说,国家体育总局花了二十年没有搞起来的全民健身运动,微 信只花了一个晚上就达到目的了.其中22:30央视春晚摇一摇送红包这波,微信总摇一摇次数达72亿次,峰值高达一分钟8.1亿次(22:34),送出红 包1.2亿个,背后是牛逼的技术和强大的商业逻辑. 我 必须要为“春晚摇一摇”点32个赞.其一是升级了红包的概念,将微信红包从用户个人行为转向为企业营销行为,商业化才是最有前途的:其二是解放了摇一摇功 能,

舍弃支付宝去捧淘宝!这次春晚阿里究竟是怎么想的?

淘宝昨天宣布与2018年中央电视台<春节联欢晚会>达成独家互动合作.从2月11日开始在春节期间每天发放1个亿的现金红包,而春晚直播的2月15日当天将发送价值6个亿的红包和奖品,累计发放总额超过10个亿的现金红包,用户可以边看节目边抢红包. 其实去年支付宝狂砸2.6亿在春晚上,已经让人刮目相看.原本按照惯性,似乎今年春晚应该也被支付宝"承包".但出乎意料的是,阿里今年选择让淘宝"出战"与春晚合作,甚至奖金幅度也大幅提升,达到了10亿! 如果说去年让支付宝与