乐趣区

关于技术:抖音-27-天战期春晚红包背后的技术大考

本文为受权转载内容,转载自公众号「HaloTech 瑶光栈」,作者 HaloTech。


很多人会局限将来的眼光,
却遗记了回望过来的教训。

间隔辛丑牛年《春节联欢晚会》倒计时 15 天,央视发表:短视频 App 抖音成为春晚独家互动合作伙伴,将于除夕夜为全国人民发放 12 亿红包。

此次流动引发了累计 703 亿次红包互动,再度将抖音及其背地的公司——字节跳动,推上了话题热榜。

咱们看见的是字节向全国人民递出的称心答卷,但其背地的故事更值得深挖。有人称其是一场里程碑式的技术验证,有人形容为一场穿梭风暴的修行……

明天,就让咱们一起,拉开春晚舞台上这场“战斗”的幕布,看一看这背地的故事。

尾声:挑战降临

“如果 2019 年让咱们做主场,以过后的技术能力没有十足把握。但往年,咱们没有任何犹豫接下了挑战。”

2021 年 1 月 13 日,周三。字节判若两人的流动日。客户端负责人肖宇已解决完一天的工作,筹备和共事们去吃一顿大餐。

“团建勾销”,一条告诉赫然呈现在屏幕上,“所有人一起开个紧急会议!”大家停下步调,面面相觑,隐隐嗅到了战场上的硝烟滋味。

22 点,会议终于开始。原来是白天跟央视接触的市场部共事来切磋抖音要不要承包 2021 年春晚红包我的项目,询问技术侧共事是否反对,如能反对第二天即敲定合同细节。

肖宇关上飞书日历,划到 2 月列表。11 号是元旦,距今有余 1 月。

其实,对字节来说,春晚红包我的项目并不生疏。2019 年,百度以第一身份,抖音以第二身份独特参加了春晚红包我的项目。

“如果那时咱们做主场,以过后的技术能力没有十足的把握”。但这两年,随着字节人才梯队和基础设施的迅猛发展,“所以得悉 2021 年要以第一身份做春晚红包流动时,大家都是蠢蠢欲动的样子”,肖宇回忆起那天散会的场景。

没有犹豫,技术部门拍板了。

1 月 15 日,单干敲定。虽没有对外正式颁布,但我的项目的齿轮已急速转动起来。

infoQ 如此说,“春晚流动是百度、阿里、腾讯三家轮流坐庄的技术盛事,毕竟只有具备足够的用户体量,才可能有足够的技术能力撑持起春晚级别的高并发流量。”去年快手和往年字节的呈现,无疑给这个流转于三个互联网大厂之间的年度“保留节目”注入了一股新鲜血液。

然而,相比于今年“前辈们”均匀 50 天的筹备工夫,字节往年只有 27 天,这样极短的筹备周期此前从未产生。倒计时开始,如何能力实现如此艰巨的工作?

第一幕:发令枪响,启程!

“ 感觉像是始终在筹备高考,忽然文化课改成踢足球,踢的还是世界杯。”

中国互联网圈有一句戏言:没有中国人搞不垮的网站。春晚红包流动即是一部记录互联网公司宕机事变的编年史,再强的高并发能力在十几亿观众背后都显得分外软弱。已经参加过春晚我的项目的团队笑称,流动难度级别是“从爬泰山到登珠峰”。

2021 年预留的工夫只有 27 天,应答上更显局促。

其实从 2020 年 10 月开始,抖音始终在筹备春节流动,毫无预兆地将流动主场搬上春晚,” 感觉像是始终在筹备高考,忽然文化课改成踢足球,踢得还是世界杯 ”,肖宇笑着感叹道,“尽管毫不犹豫地接下了春晚工作,头三天却仍是感到心慌”。

我的项目初期,须要思考的方向繁多,每一个环节都不可小觑。就像一艘海上巨轮,只有呈现任何一道细小裂纹,都可能造成万吨淡水涌入的致命结果。因而,在流动筹备阶段,工作脉络梳理和明确外围里程碑节点有着提纲挈领的作用。

春晚流动项目组首先对外围链路、流动链路和惯例链路进行梳理,全面笼罩了我的项目波及的各个方向,并依照优先级由主到次梳理开展。依据春晚工夫倒推,团队确定了 9 个重要里程碑节点,其中包含:3 次压力测试、1 次容灾演练、4 次剧本演练和 1 次实操

所有曾经就绪,齿轮转动到了最要害的楔合点,真正的难关逐步浮现在字节人的眼前。

第二幕:十八次演练

“ 春晚的放大效应不容许技术团队有一丁点的侥幸心理。”

当提及春晚红包流动的技术难点时,UG 中台负责人苏彦坦言,技术场景其实并不简单,外围是对峰值流量的预估、资源调度优化及用户体验保障。

春晚红包流动是一种超高并发场景,流量预估其实是一种衡量,如果预估过高,资源要求太大,则会节约大量老本;如果预估过低,理论流量超出预期,零碎可能过载甚至雪崩,影响用户体验和流动成果。

综合容量评估平台历史数据和业务零碎的压测后果,技术团队只用两天工夫就出具了惯例增长、口播冷启动、红包流动等场景的流量预估。

互娱研发架构负责人邢岫示意,春晚项目组自成立之时,就立下明确的战略目标,首先就是要达到春晚流动应有的体验成果。预估工作给整个我的项目打底后,如何疾速解决春晚流量洪峰的解决问题成为头等大事。

技术团队从流量治理、服务治理、研发效力等多角度动手,联合火山引擎云原生能力,给出了有字节特色的解决方案。流量治理和服务治理是保障用户体验的要害,研发效力是疾速高质量实现春晚流动技术工作的保障。

流量治理:交融线路、边缘计算与全链路动静流量调度

春晚红包流动要为用户提供更好的体验,其流量治理建设就要满足高带宽、低时延、主动容灾、疾速复原的个性。为此,字节基于端云配合的交融减速线路计划,通过疾速验证内部 CDN 服务链路能力,提供高效的动静 CDN 减速和流量调配,与用户设施、边缘机房、外围机房联结全链路动静流量调度,实现了对用户体验最优的负载平衡与分级治理。

同时,在流量输出侧和解决侧做出相应致力,使得流量治理局部可能反对 APP ID、接口、用户 ID 等多维度的调度策略,实现流量合并、隔离等调度需要,能够达到十万分之一级别的流量切换精度、数亿级别在线客户端配置管理、千万级并发申请更新调度配置、3 分钟配置更新 90%、24h 配置覆盖率 99.5%。

在春晚高并发大流量场景下,这种能力为部分容灾、整机房大规模容灾等场景预案提供了足够的能力撑持,其具备的主动容灾能力可能实现故障场景对用户的影响工夫降至 1min 内,极大的升高了故障场景下的用户体验损失。

服务治理:ServiceMesh 与离在线资源对立调度零碎

如果把流量治理的建设比喻为水流的快不快、顺不顺,服务治理建设则间接决定了水的流量和品质。好的服务治理能力,须要能为业务提供最好的容灾和弹性。火山引擎通过 ServiceMesh 提供灵便的集群内流量调度、负载平衡、过载管制与容灾能力,又通过离在线资源对立调度零碎提供高度灵便的跨集群、跨冷热弹性扩缩解决方案。

离线资源拆借计划使离线机器可在 5min 内转换成在线可用状态,在线混部出让计划在资源整合上应用了单机维度的 QoS 治理和隔离伎俩,整合多集群已部署闲置资源,缓解工作冷启动带来的延时影响。仅针对春晚当天大量短视频投稿的码率转换和抽帧相干工作,此计划就稳固供给了数十万外围的算力。

研发效力:压力测试、一站式观测平台与公共组件建设

高效的研发迭代依赖于杰出的研发基础设施建设,字节全链路压测平台和一站式可观测平台,不仅提供了数据隔离能力,使得在不影响用户体验的前提下,能为压测争取更多的工夫,也提供了软硬件状态实时监控能力,为研发团队迭代相干服务提供了无效的反馈信息,放慢了问题发现 - 定位 - 解决的迭代效率。

此外,字节通过自研公共 RPC,将流动流量接入的要害性能和稳定性问题集中解决和解决,并针对性地建设了一整套性能 / 稳定性测试体系,深度模仿流动流量特点,针对大并发,大包,重负载场景做了大量的测试和优化,将所有可能呈现的异样问题提前裸露和解决,高强度地保障了框架品质。框架承载的服务峰值 QPS 达到千万级别(未统计物理机部署服务),线上无一例异样反馈。

即便具备充沛的技术积攒,春晚红包流动对参与者而言,仍然是一场穿梭风暴的修行。

后期演练过程中,一个意料之外的业务问题被所在团队率先发现。随着定位和测试的深刻,整条业务链上下游的数据分析、服务端、前端、客户端的共事一个又一个地被拉入“小黑屋”里,一次一次小流量试验,一点一点对数,一轮一轮剖析,找数据,找起因,补埋点,补监控。等问题解决时,恍然已过 5 个小时。

各端负责人都示意,春晚的我的项目开发十分考验集体和团队对细节的把控:“因为日常迭代频繁,工作难以做到极致的细化,而春晚带来的海啸级别的用户体量是一个放大镜,放大已经工作中任何感觉不重要的问题。春晚的放大效应不容许技术团队有一丁点的侥幸心理。”从立项开始的每一天,团队都以发现一个问题,定位一个问题,解决一个问题的虚浮态度,撑持着高强度的春晚红包流动迭代。

针对可能呈现的突发问题,技术团队制订了 16 个系统性的紧急预案,每个大预案进一步粗疏拆解,每一个子模块又会有绝对应的几十个预案。例如网络挂掉,机房故障、部分过热等问题,每个问题都出具应答计划。这些应急预案一一演习,尽最大可能保障春晚当天的用户体验。

同时,为避免重蹈内部资源解体事变,字节和内部运营商放弃充沛联系,建设良好的迭代和沟通机制。零碎负责人施羽向咱们走漏,在本次春节流动期间,抖音团队和内部资源进行了“定向沟通”以及十分极致的盘点,基于需要给供应商做好调配。

为了在央视春晚顺利收回红包雨,让全国人民体验一个喜悦圆满的好年,字节经验了 18 场技术预演,除了外部的用户测试之外,也借助了卫视春晚的小年夜流动进行实操。

“随着一次次演练,缓和心态曾经好多了。以咱们的技术实力来实现一个绝对确定的事件没什么问题。但春早晨线前两天又开始慌了,特地放心漏掉什么。就像一个快上考场的高中生,感觉如同齐全温习好了,但惟恐有脱漏的知识点。” 肖宇这样形容春晚前夕忐忑情绪。

第三幕:未能退场的黑天鹅

“抖音作为一款国民级利用,咱们心愿以谋求极致的态度,让用户即使在简单网络环境下都能有一个较好的玩法体验,尤其是在流量峰值期间。”

转眼间,2 月 11 日除夕夜大考降临。

只管已演练了 18 次,春晚流量的不稳定性仍旧是一把悬在所有人头顶的剑。

20 点 30 分,随着第 1 波红包雨指令的顺利收回,缓和氛围逐步平复下来。

虽未语言,但在场的字节人心中都有一个默契,他们晓得:这事成了。

0 点 10 分,第 5 波红包雨随着新年钟声的余韵和璀璨焰火,在千家万户的手机屏幕上闪动,这场属于字节的上演拉下了终场帷幕。

“元旦,从家里换到春晚值班现场,这种气氛很难得。几百位同学坐在一起看春晚的同时,又各自监控着实时数据,本人切身地深刻到春晚我的项目之中,给全国几亿用户提供红包雨流动,是很有自豪感和成就感的事件。”前端负责人李川东回顾着当晚的情绪,语言间走漏着无奈克制的喜悦。

更令技术团队快慰的是,预估可能触发的 16 个系统性问题一个都没有呈现,黑天鹅事件均完满防止,抖音就这样平淡地度过了一次又一次地流量冲击,稳稳地进入新的一年。

“从大的视线来看,春晚流动的个性使得其稳定性及可靠性的要求被放到一个十分高的优先级,体验保障在某种程度属于尽量保障的定位。但抖音作为一款国民级利用,咱们心愿以谋求极致的态度,让用户即使在简单网络环境下都能有一个较好的玩法体验,尤其是在流量峰值期间。”邢岫总结道。

那么,2019 年,字节尚无在春晚主场作战的把握。两年后的明天,抖音却如此平静地通过了曾绊倒今年春晚合作方的挑战。是什么撑持了这场技术变质?

第四幕:字节如何跳动

“以字节当初的技术能力,咱们本应做到,甚至能够更快更好。”

当问及春晚红包流动为何能如此迅速而完满开场时,参与者达成了共识:组织模式和技术成长。

网状单干模式

我的项目撑持团队的组织构造,和 BP 的确立是整个推动工作过程、同步信息的要害根底。确认抖音接下春晚我的项目后,字节立即汇合了 20 余个团队前来反对。但单干模式并非做自顶而下的我的项目拆解,并非给每个人安排固定工作,而是设定对立指标,向下同步对齐,靠着各个团队的主动性逐渐推动指标实现。

架构负责人岳建梁将这种合作形式称作“像一张网”。网状的组织构造连结着一个个团队,每个连结点都有专门的负责人用以对接,任何事责都能收到明确的回应。这是字节文化特色和组织模式的体现。

基础设施优化

技术团队疾速做出决策的信念,来源于字节对多种根底能力建设的长期投入。

架构负责人岳建梁走漏,目前字节基础架构的规模性已不可同日而语,它给予了业务侧更充沛的灵活性和更大的施展空间,这很要害,没有这么大的规模,很多问题无奈解决。

架构的体系结构也产生了决定性变动,各个机房进行了独立的单元化构建,有能力在不同机房之间对流量进行任意调配。

除此之外,现今的字节有着一系列的技术冲破,如欠缺的存储矩阵;计算能力上实现了离线和在线的混合部署;网络层面取得更多可控度,自建了 CDN、动静减速、HTTPDNS、流量调度能力;外部服务治理和服务治理也更欠缺,具备各种容灾零碎,容灾演练零碎,Chaos 零碎,治理零碎,全方位反对业务流动的顺利运行,体现出较强的性能和稳定性。

值得一提的是,此次字节自研的 客户端动静引擎框架 Lynx 在春晚流动中体现尤为突出,极大缩减了客户端发版老本,晋升业务迭代效率,这也是 Lynx 第一次被利用在大规模流动中。

以上这些,撑持着 2021 年的抖音更从容地应答了春晚我的项目。

春晚红包流动,对现在的字节来说,不是挑战,更像是一次求证。

借由这场流量狂欢,字节验证了本人的边缘计算能力,自建的动静减速和 CDN 能力,以及在线大规模的混合部署和疾速调度能力。

“其实咱们没有放大实现这件事的成就感,咱们分明胜利的源头是组织模式和越来越好的基础设施。以字节当初的技术能力,咱们本应做到,甚至能够更快更好。”邓影这样说道。

序幕:继续奔跑,使劲浪漫

“继续摸索,始终守业。”

“始终在谋求给用户更个性化的极致体验。”提到春晚我的项目的遗憾,苏彦认为如果工夫再富余些,能够将玩法做得更乏味。

不难看出,字节这些年对根底技术能力的继续投入已奏效可观,可能反对更简单的业务场景,应答业务挑战。同时联合本身倒退特点,积极探索行业新技术在字节场景下的新利用。

过往遗憾,皆为序章。

送别 2021 年春晚我的项目,字节将持续上路。

“继续摸索,始终守业”。

这里是故事的完结,也将是下个故事的开始。

注:文中对应真人均已用化名解决。

退出移动版