2019 年的春晚红包项目对百度而言是一次大考,背后需要强大的技术来支撑。如你所见,百度不负“技术大厂”的标签,春晚红包期间系统稳定运行,没有出现宕机事故。在这样一个庞大而复杂的项目面前,他们是如何去用技术去化解的?
4 月 4 日,以“揭秘春晚红包背后的技术”为主题的第七届百度技术开放日举行,从顶层设计到具体的技术模块,百度公开对外进行了梳理和分享。
会上,百度副总裁侯震宇率先介绍了保障整场春晚项目不宕机的技术“顶层设计”。他指出百度春晚抢红包环节面临的四大挑战是时间短、技术难、场景复杂、要求高,而百度有全系统全链路的优化设计、优良技术积累的护航、以及大规模工程能力的保障。
全系统全链路的优化设计:整体架构设计与优化、统一前端接入优化、极端并发的数据库优化
春晚极端的并发场景是对技术实力最高级别的检验。春晚直播期间,数亿用户参与互动,每秒钟千万级并发请求,全球观众参与百度春晚红包互动次数达 208 亿。基于此,百度在这次春晚红包项目架构设计中采用的是以大化小、隔离、弹性、智能、动态、自愈,同时高效控制总成本的设计理念。
在架构设计方面,百度架构师及工程师将整体系统拆解成四大业务系统和大量基础设施与服务。为了提升观众参与的质量,百度提出了多项具有针对性的优化方案。在春晚红包环节,观众可以通过摇一摇、信息流、视频、语音、搜索等多样化形式参与。
除了这些基本的架构设计与优化外,还有统一前端接入优化、安全防攻击、资源协调和动态调度能力,全链路压测与攻防以及内测、预案与剧本等关键技术和方案,才保证了春晚摇红包顺畅进行。
百度架构师章淼介绍,BFE(百度统一前端)是百度统一的七层流量转发平台。在春晚红包项目中,BFE 是 IDC 流量的统一入口,提供流量调度、接入转发、限流、应用层防火墙等能力。每日转发请求数接近 1 万亿。基于 BFE 的快速开发能力,可以通过将部分业务逻辑前置到 BFE,降低整体的系统开销。同时基于自研专用流式计算系统,提供实时报表能力,在亿级别流量下可以实时反馈系统状况。
在春晚红包活动中,数据库服务处于业务链路的最底层,具有相当重要的作业,对其稳定性、可靠性及并发能力提出了更高的要求和需求。
百度 DBA 形成的完整的数据库技术体系和解决方案,从架构上适配春晚项目的业务需求,通过set化等关键技术方案,达到对业务透明且灵活扩展、故障最小化隔离能力;在流量管控上,基于流量画像能力,结合安全检测及拦截能力、多维度多层级流控能力,达到对整体服务的过载保护和安全防护能力,能有效保障整体服务的可用性、数据的安全性,达到数据库千万级 QPS 处理能力;最后结合近百项的剧本及自动监控预案措施,进一步加固了春晚数据库服务保障能力,助力春晚活动顺利进行。
技术积累的护航:服务的混部调度、弹性的资源供给、极速稳定的CDN服务
春晚期间,亿级别用户同时启动,上亿的用户同时与百度云服务发起建连。相较于以往简单的摇一摇,这次用户同时访问的业务覆盖搜索、推荐、语音、视频等复杂业务,两周时间内要实现数万级别规模服务器的资源快速筹备与使用方案制定。
技术方案上,重点通过百度云集群内部全混部,利用集群流转支持,满足春晚活动资源需求。混部调度意味着选择合适资源,部署合适任务,并做好安全的隔离与服务保护机制。百度春晚活动服务混部调度采用 BestEffort(BE)模式,弹性使用全百度云的集群资源。
BE 模式对原正常业务实现了无侵入使用,满足了春晚服务提前进场与快速便捷退场的需求,顺利通过了活动的多轮压测工作与最终线上的效率与质量考验。同时围绕潜在问题场景,设计了秒级弹性伸缩的方案,为潜在的未知春晚力量做足万全准备。
百度云的媒体云平台是一个涵盖了视频/图片类数据的采集、生产、上传、存储、处理、分发、播放的一体基础设施云平台,具备国内最大的万亿文件千 P 数据的存储、每天千万级媒资处理、数百节点 50T+带宽的分发网络和一站式智能视频解决方案。
大规模工程能力的保障:高效的工程能力、自动化、自助化压测平台、全要素链路压测与攻防
春晚红包项目涉及数十个产品和平台,110+种场景,280+个预案,百余团队参与,上千人协同,平均每天新增需求和任务千余个,自动化测试上万次。百度资深产品设计师王一男称,在如此大规模协同开发的挑战下,春晚红包项目能够高效、高质量交付,离不开百度长期积累的技术文化和工程能力、集团统一的工程标准和研发规范、可靠高效的开发工具和协作平台。
再好的架构设计,也需要上战场真实规模演练,春晚蓝军就负责为春晚系统制造各种麻烦。首当其冲的就是全要素全链路压测,用来模拟真实用户行为,构造大于春晚极限并发的压力洪峰,验证从供电、网络等基础设施,到上层软件架构的服务能力。
百度架构师曹轩表示,压测的核心是要摒弃正向思维模式,强调机械的覆盖与验证,不放过任何一个“绝对不会出问题”的环节。与此同时,为了验证春晚系统应对异常的能力,百度主动构造随机异常。基于对高可用架构的丰富经验,百度架构师专门选取系统的“七寸”发起主动攻击,来验证系统的架构容灾能力和应急指挥机制。
总体而言,能够在不宕机的情况下抗住春晚 200 余亿元红包的交互,是百度调度多方面技术资源的结果,同时也表明百度的技术实力并非浪得虚名。