导航菜单

春晚红包:史上最难开卷考试,快手交卷了

春节联欢晚会的红包历史可以被称为互联网公司停工和流泪的历史。无论并发能力有多强,在国内外10多亿人的注视下,它都是如此脆弱。在互联网用户的固有印象中,春节联欢晚会是一个由英美烟草三家公司轮流负责的科技盛会。毕竟,只有拥有足够的用户量,他们才能拥有足够的技术能力来支持春晚的高并发流量。在今年的除夕,作为第一个在英美烟草公司之外的互联网公司举着春节联欢晚会的旗帜,快手在今年的春节联欢晚会上用红包进行了639亿次互动,这是春节联欢晚会历史上最大的视频表扬记录,并且有5.9亿次红包是在电视台之外分享的。除夕夜的前一天,面对严峻的疫情形势,技术团队紧急研发,并迅速在春晚现金提取环节启动了“助武汉”红包捐赠功能。Quickhands是如何准备“春节联欢晚会红包”活动的?在最紧张、最忙碌的春晚筹备前一周,InfoQ记者在位于北京上地西路的快速通道总部采访了多个部门的技术负责人,包括资源调度、基础设施、应用启动和客户端稳定性,还原了一幅完整的画面。

代码A1,中国互联网信息中心发布的春晚交接

《中国互联网络发展状况统计报告》显示,截至2018年12月底,中国互联网用户数达到8.29亿,手机用户数达到8.17亿。移动互联网的空前普及也创造了世界互联网历史上罕见的高并发流量场景:以12月11日为代表的电子商务推广、春节期间的售票系统以及每年春节前夕的红包大战。

2020年春节联欢晚会的红包是继中国传统网络强人英美烟草之后,第一次出现新面孔。该公司的名字是快速手。

从1月24日晚上8点至第二天凌晨,快手共发放了10亿元现金红包,创下了春节联欢晚会红包的新纪录。2015年,当微信被允许抢占支付宝时,微信分发了5亿个红包。2016年,支付宝分发了8亿个红包。2019年,百度发放了9亿个红包。

除了10亿现金红包之外,Quickhands还投入1亿现金用于卡片收集和100,000台服务器(包括20,000台云服务器)来支持春节联欢晚会。

除了真金白银的投资,人力也是一个“大赌注”。InfoQ记者了解到,春节联欢晚会的红包项目组在准备工作开始时,专门去百度和阿里的同学那里学习。"夸张地说,我们的人力比其他人少一个零."

春节联欢晚会的红包在拍板内代号为A1。这个名字来自北京西二旗总部大楼的拍板安排。快速总部园区ABCDEF有6栋办公楼,每个团队的工作站分散在这6栋办公楼中。春晚红包项目确定后,为确保工作顺利进行,整个项目组在A区搭建了春晚的战场,成员包括设计、研发、产品等。由于该项目的广泛参与,出于严格的保密考虑,春晚项目的代码最终定制为A1,这也符合春晚红包项目的重要性。

“从登泰山到登珠穆朗玛峰”

罗振宇在2019年新年致辞中提到,他原本计划为春晚做广告,但他被说服了,因为有一条不成文的规定,如果为春晚做广告,产品的日常生活费用将超过1亿元。原因很简单。用户数量太低。技术很难支持春节联欢晚会的高并发流量。这也是为什么近年来,春节联欢晚会的红包节目被三个网络强人垄断的原因。

2015年,微信和Spri

这不是快手与春晚的首次合作,但这是快手首次接手春晚的红包活动。对于春晚来说,这也是一种全新的体验,因为春晚的红包首次进入了视频红包时代。在除夕夜的央视春晚上,拍板人以“赞美中国年”为红包互动主题,开展了五轮抢红包活动,并采用了全新的“视频表扬”方式。然而,新的播放方式代表着新的挑战,而在春晚交通面前,快播独特的短视频场景服务带来的挑战更加突出。

首先,看看这个应用的属性。以快速跟踪应用为代表的短视频社区应用一直具有用户粘性高、使用时间长的特点。视频作品的每日大规模发布和播放,以及实时直播和用户互动,对在快速操作的计算机房中共享的流量施加了相当大的上行和下行压力。这就对春晚的建筑设计提出了越来越高的要求。

其次,与之前的春节联欢晚会相比,短直播视频场景的资源占用率更高,尤其是CDN和带宽。在一定时期内,中国CDN和商用带宽资源的总供给相对稳定。然而,在视频红包场景下,数亿人同时打开几十米长的视频文件,数千万用户同时涌入春晚直播室。所需资源比之前的春节联欢晚会高出几个数量级。如何估算春晚的流量并设计技术方案来减压?如何准确计算需要购买的服务器、CDN和带宽资源?这是除夕夜整个网络资源紧张时的一个大问题。

第三,活动策略与第三方沟通的困难。今年的春晚不仅将达到3亿DAU的目标,而且对产品开发也有了新的战略考虑。2019年百度春晚拖垮了应用商店和微信包等主要主流应用市场,影响了百度的新目标。今年的快车道注定不愿重蹈覆辙,但第三方应用市场,尤其是应用商店和微信,更难沟通,但这是必须解决的短板。

春节联欢晚会红包项目成立。面对这场艰难的战斗,该如何调整?

一切都是一样的,但它们不一样。

在中国的互联网圈子里有一个笑话,没有一个网站是中国人无法攻破的。这是真的。在一个拥有8亿多互联网用户的国家,在一年一度的春节带来的电子商务推广、速战速决和技术讨论的洗礼下,技术公司应对高并发流量的能力正接近软硬件性能的极限。

从近年来各大工厂春节联欢晚会的红包活动来看,技术解决方案可谓一成不变。它们只不过是基础设施(服务器、CDN、带宽)的准备和内部架构的升级(核心链路升级、降级方案)等。说起来似乎很简单,但面对极端的交通状况,难度是不一样的。

基础设施准备和架构升级

2019年百度春晚的服务器数量为10万台,其中5万台服务器是从百度的核心“凤凰巢”广告系统转移过来的。基于对基础资源(如短视频服务中的服务器)的更高需求,“快车道”将为此次春晚准备的服务器数量不会低于百度。应该注意的是,服务器不仅由物理机器组成,而且还有相当大规模的云服务器,这就提出了与主要云服务提供商交流性能资源的问题。

短视频领域的常见解决方案是将视频放在内容传送网络(CDN)上,该网络不仅将视频文件传送到离用户最近的地方,还使用大量CDN节点来共享用户观看的流量。这是一个成熟的解决方案

第一个架构挑战是允许用户顺利地“进门”。

在正常情况下,当用户第一次启动快速启动应用程序时,他们将与服务器进行近100次交互。可以想象,当春节联欢晚会开始时,数亿用户将同时启动快速跟踪应用,这将带来一个洪峰。如果服务器没有降级,它可能会被直接冲走。这是红包活动面临的一个挑战:用户如何才能顺利“进门”去抢红包而不被下层服务器阻挡。

为了确保用户“进入”链接的顺利启动,技术团队在保证主要功能不受影响的前提下,设计了协议降级、频率限制、过载保护、协议精简、延迟中断、CDN自底向上、业务逻辑优化等策略。该系统能够承受十亿级QPS的交通冲击,通过五个“门”层层控制洪水,“洪水”的概率将降低到几乎为零。

此外,春晚的直播可能随时处于紧急状态,例如,主持人播放红包的时间可能随时调整。为了在这种紧急情况下向每个用户提供核心指令,快速操作技术团队为此目的精心设计了核心指令控制系统。一键式交付最早可在一分钟内送达所有用户,以便为紧急情况做好准备。

登录注册平时面临数百个挑战。

从往年春节联欢晚会的红包经历来看,登录注册页面是破坏服务器的另一个障碍。登录注册就像是用户获取红包的钥匙。在春节前夕,将会有大量新用户注册并登录到快速跟踪应用。快速跟踪估计,新年前夜登录注册页面的挑战可能会像往常一样达到数百次。为此,Quickhands准备了比正常登录峰值高数百倍的容量。在增加容量的同时,Quickhands还梳理和简化了登录过程。从客户端到服务器总共进行了几十次优化,以允许用户“第二次登上”快速移动的应用程序,并获得红包。

Express应用登录量的爆发也是对第三方服务的巨大挑战,如三大运营商的一键式登录、短信网关和腾讯授权。为了达到预期的容量,三大运营商和微信团队与快递登录团队一起分别定制了春晚服务。

抓红包是活动的核心。如何抵挡瞬间的洪峰,准确地交付10亿现金?

大多数用户会在活动开始时进入活动,并开始抢夺红包。考虑到网上快速用户的巨大数量和春节联欢晚会造成的洪峰,这基本上是一个限制流量。根据这种流量进行设计不仅需要很高的资源成本,还需要更高的系统复杂性和容错能力。为此,Fast Hands根据活动特点做了一定程度的分散削峰设计,用户无法感知:技术和产品一起做了一些有针对性的设计和优化,既保证了用户的实时参与,又保证了服务器压力在可控范围内。

一轮红包只需10分钟左右,现场几乎没有任何修理和调整的机会。该团队只能在设计和实施上花费时间,对各种异常进行逐层保护和灵活降级,并通过一系列故障演练来验证它们。货币发行也需要一个非常高的系统。十亿现金将在几十分钟内发行,没有任何问题。该团队对结构进行了许多精心设计,例如确保核心运营的幂等性、多维预算控制、各种保险丝检查,以及根据流量动态安排货币发行的能力。

短视频领域常见的视频分发方案是将视频放在CDN上,让CDN承载流量。这没什么错,但是说到春节联欢晚会的交通,它就被问题所掩盖。

记者了解到,在全网CDN总容量有限的前提下,音像技术团队设计了一个大规模的预发行系统

此外,据快手R&D团队相关负责人、InfoQ记者介绍,新春初冠状病毒肺炎疫情严重,影响到每个人的心脏。经过讨论,正在筹备春晚项目的“快手”团队决定在现金提取页面增加一个“协助武汉”的红包捐赠功能。用户可以选择将红包金额捐给武汉。快手将在此基础上捐赠10%,该平台将帮助武汉与用户共同抗击疫情。这是除夕前一天的清晨,以确认该功能的启动。留给发展的时间非常紧迫。经过一夜的开发测试,该功能在每月的第一天早上6点准时启动。

重新保证稳定性

根据墨菲定律,假设纤维断裂的极端情况一定会发生,我们该怎么办?

这是快速运动员在训练中期望的极端场景。虽然这个场景听起来很疯狂,但是为了确保春节联欢晚会的绝对可靠性,团队需要考虑所有的异常和灾难处理。据了解,春晚的所有核心服务都设计为多机房容灾,不会影响任何单机房或专线故障情况下的活动。基本上,所有可以想到的异常都经过了精心设计和降级,以便一层一层地覆盖底层,并且万无一失。

春节联欢晚会的所有计划都依赖于配置分发系统,该系统必须以低延迟和高可靠性将配置传递给每个节点。

在服务器端优化方面,对整个报告环节的监控系统进行了全面升级。快手现有的业务上报环节是一个多维、高复杂度的系统,业务的呼叫水平可能会随着流量的增加而成倍增加。核心思想是在报告过程中压缩和降级,合并不重要的数据,报告异常和高延迟数据,以减少系统压力。

配置分配系统也有一套完整的监控和加固系统。核心思想是对配置进行分级,将其分布在系统内的多个层中,最后实现进程内缓存。每台物理机都有缓存。如果失败,至少可以获得一个先前的数据。

如果春节联欢晚会是一个大测试,那么全链路压力测试就是一个模拟测试。

全链路压力测量是应对高并发洪峰的“核武器”。所有服务的高并发能力需要通过压力测试来确定和验证。除夕活动前的多轮压力测量经历了从小到大、从单接口到单集群再到全链路的过程。对整个团队来说,全环节压力测量不是简单的QPS增长,而是对资源协调、风险控制、结果评估等的综合测试。其目的是让春节联欢晚会上应该发生的流量提前发生,并验证系统在这种情况下是否运行良好。验证后的验证和优化后的优化最终保证了春晚的高并发性。

在对红色数据包进行全链路压力测量时,不仅要验证系统的高并发性,还要精确控制并发逻辑,以确保红色数据包的正确分发策略。在许多情况下,全链路压力测量不仅需要承担高并发性能验证的责任,还需要确认在超高并发条件下该功能是否满足预期。

客户端优化优化重新优化!

春晚活动流程是一把双刃剑。对于技术团队来说,这是一座珠穆朗玛峰,但对于要升级的产品来说,这就像坐在快速升空的火箭上。对于客户端团队的学生来说,如何减轻应用商店中CDN的压力,提高用户的下载和安装速度,理清客户端的降级方案,适应复杂的用户模型也是一个大问题。

经过一个多月的努力,该团队通过18项技巧,如资源压缩、向CDN转移和使用云工具,将客户端的安装包减少了3000多万个,启动时间减少了30%。资源和图片的预下载覆盖率达到95%以上,提升了新用户的产品体验。

在系统中放一只“猴子”,

互联网的辉煌似乎在闪闪发光的城市。很少有人知道中国农村的互联网用户数量已经超过了2.25亿。在中国的农村地区,智能手机变得越来越受欢迎,但成千上万的手机仍然是主流。此外,互联网的受欢迎程度因地区而异,互联网的速度也不同,来自山区和城市的信号无法进行比较,不同型号之间在性能和屏幕分辨率上也有大有小的差异。在同一个视频直播室里,不同变量的网民如何在不同的限制下享受最好的体验?

快速音频和视频技术团队使用结合算法和数据驱动的工程概念来优化音频和视频体验,从移动端到服务器端没有死角。用户可以使用任何设备在任何地方流畅地拍摄、制作和上传视频。

春节联欢晚会的核心游戏是在五轮口播的时候表扬一段45秒的视频并收到一个红包。为了保证每个用户在口播时都能顺利观看视频,快手音视频技术部会同Y-tech实验室将视频播放与复杂的动态效果和音效渲染结合起来,将性能优化到极致:即使在低端手机上,也能在保证零视频干扰的前提下,顺利进行接收红包的特效互动。

此外,在高峰流量时,向数亿用户分发45秒的几十米视频不是一个小挑战。为了实现这一目标,Fast Hand使用智能视频压缩算法来增强和抑制几十个视频片段的图像质量。

口播时播放的视频素材取自数百个速配用户的UGC素材,画面质量参差不齐。为了保证每一帧的播放效果,需要手动识别各种图像质量问题,如模糊、遮挡效果、色偏等。通过算法优化到主观最佳状态,最终根据不同的内容和场景复杂度输出尽可能小的视频文件。为此,音频和视频团队与内容团队合作,不断更新材料。视频资料的压缩和分发一直持续到新年前夜。

最终,除夕夜的互动次数达到创纪录的639亿次,每分钟的视频播放次数超过1亿次。

此外,快速跟踪应用程序还现场直播春节联欢晚会。当大量用户涌入活动页面等待红包或抓取红包后返回主页时,他们会进入直播室观看春晚。

为了保证超高并发直播的稳定性和质量,直播团队做了大量的工作。首先是信号源。主要来源是中央电视台的官方信号。备用信号源有多个频道,从有线电视到卫星信号。就连员工也在家里安装了备用信号采集设备。所有信号都汇集到广播控制操作室,有专门的小组负责关键保证,以确保在任何信号源故障时无缝切换到备用广播源。在直播分发方面,快速通道调动了整个网络的前线CDN资源,通过对大数据的精确调度和质量监控,确保最高质量的直播流覆盖全国各地甚至全世界。

在除夕夜,共有7.8亿人观看了春节联欢晚会,最多有2524万人同时在线。

交流!交流!交流!

自从微信在2015年开始为春晚制作红包,春晚的应用商店每年都会受到大量下载请求的冲击,导致不同级别的服务不可用。我们希望他们今年能顶住压力。

应用市场是春节联欢晚会的门户。如果新安装的用户在这一步不能办理入住手续,他们将没有机会参与后续的红包。快速通道今年有一个团队专门负责与第三方应用程序市场沟通,以确保应用程序商店没有问题。这不是一项容易的任务。国内应用商店支离破碎。安卓主要包括华为、小米、OPPO、Vivo、魅族、

为了保持应用程序存储,快速团队需要划分资源(CDN、带宽)、提供人力(提供技术支持)并给出解决方案(解释活动的完整逻辑)。

我们并不是说应用商店点头时就放心了,但是我们需要看到对接技术部门真的对需求感到满意。

在公司内部,沟通也不是一件简单的事情。

启动优化过程的两位领导者,其中一位在加入快速通道团队两周后被拉进A1项目,另一位是快速通道“老司机”。这种组合的关键任务之一是与各业务线沟通,将设计的降级计划付诸实施,为春节联欢晚会提供红包,并“扼杀”所有其他相对不重要的界面。

这个团队在与各种业务线沟通的过程中遇到了很多挫折,但最初的沟通问题是在他们内部。“老司机”在采访中笑着说:“一开始,我惹恼了他。我什么都不知道,只是指出了几点。”随着项目的深入,两人之间的信任逐渐加强,项目团队形成了强大的凝聚力:“如果你赢了,就举杯庆祝;如果你输了,你救了你的命”。这两个人互相支持,继续前进。在一个多月的时间里,他们梳理出了近100个与业务线启动相关的接口,只留下了一位数的核心接口而没有退化。

有两种沟通方式,一种是强有力的一刀切的方法,另一种是深入业务,友好地沟通。尽管后者更难实施,我们还是决定耐心地与我们的商业同学交流。仍然有“钉子户”,最后我们把我们的目标与更高的水平联系起来,并把它们向前推进。

与商界斗智斗勇,将近100个界面干到一位数。这是被认为沟通能力差的技术人员沟通的结果。

一些人的红包大战、14亿人的春节以及每年春节联欢晚会的红包活动都在忙着主要互联网制造商的开发、产品、项目和设计师。这个团队的规模不小。有些甚至有500-1000人在机房值班。但是在14亿人的春节传统面前,这些人只是沧海一粟。

信息技术的价值在于它扩大了个人的声音和价值,使每个微小的人都能发出更大的声音,并使成千上万人的团队能够支持超过10亿人的高并发热情。随着春晚的发展,春晚背后的技术力量和巧妙解决方案不再是最重要的核心。这些互相支持、一起攀登珠穆朗玛峰的人背后的故事就是他们背后的故事。

在春节联欢晚会红包大战开始之前,我们向每一位接受采访的技术专家提出了同样的问题:“你对春节联欢晚会红包有多大信心?”受访者承认,准备春节联欢晚会就像和一群高中生一起准备高考一样令人兴奋。开始时信心可能只有50%。随着准备的增加,信心增加到70%甚至更多。在准备考试的最后一段时间,我觉得我已经做了我应该做的和能做的一切,所以我错过了考试。

虽然内部测试和公开测试可以提前发现一些问题,但不可能完全模拟春晚初期上亿DAU的流动。这是一次性的技术考试。对于每一个相关的技术人员来说,他们所能做的就是呆在电脑前,等待交通的每一次高峰。

尽快交论文。你呢?