2019 年的春晚红包项目对百度而言是一次大考,背后需要强大的技术来支撑。如你所见,百度不负“技术大厂”的标签,春晚红包期间系统稳定运行,没有出现宕机事故。在这样一个庞大而复杂的项目面前,他们是如何去用技术去化解的?

4 月 4 日,以“揭秘春晚红包背后的技术”为主题的第七届百度技术开放日举行,从顶层设计到具体的技术模块,百度公开对外进行了梳理和分享。

会上,百度副总裁侯震宇率先介绍了保障整场春晚项目不宕机的技术“顶层设计”。他指出百度春晚抢红包环节面临的四大挑战是时间短、技术难、场景复杂、要求高,而百度有全系统全链路的优化设计、优良技术积累的护航、以及大规模工程能力的保障。

全系统全链路的优化设计:整体架构设计与优化、统一前端接入优化、极端并发的数据库优化


春晚极端的并发场景是对技术实力最高级别的检验。春晚直播期间,数亿用户参与互动,每秒钟千万级并发请求,全球观众参与百度春晚红包互动次数达 208 亿。基于此,百度在这次春晚红包项目架构设计中采用的是以大化小、隔离、弹性、智能、动态、自愈,同时高效控制总成本的设计理念。

在架构设计方面,百度架构师及工程师将整体系统拆解成四大业务系统和大量基础设施与服务。为了提升观众参与的质量,百度提出了多项具有针对性的优化方案。在春晚红包环节,观众可以通过摇一摇、信息流、视频、语音、搜索等多样化形式参与。

除了这些基本的架构设计与优化外,还有统一前端接入优化、安全防攻击、资源协调和动态调度能力,全链路压测与攻防以及内测、预案与剧本等关键技术和方案,才保证了春晚摇红包顺畅进行。

百度架构师章淼介绍,BFE(百度统一前端)是百度统一的七层流量转发平台。在春晚红包项目中,BFE 是 IDC 流量的统一入口,提供流量调度、接入转发、限流、应用层防火墙等能力。每日转发请求数接近 1 万亿。基于 BFE 的快速开发能力,可以通过将部分业务逻辑前置到 BFE,降低整体的系统开销。同时基于自研专用流式计算系统,提供实时报表能力,在亿级别流量下可以实时反馈系统状况。

在春晚红包活动中,数据库服务处于业务链路的最底层,具有相当重要的作业,对其稳定性、可靠性及并发能力提出了更高的要求和需求。

百度 DBA 形成的完整的数据库技术体系和解决方案,从架构上适配春晚项目的业务需求,通过set化等关键技术方案,达到对业务透明且灵活扩展、故障最小化隔离能力;在流量管控上,基于流量画像能力,结合安全检测及拦截能力、多维度多层级流控能力,达到对整体服务的过载保护和安全防护能力,能有效保障整体服务的可用性、数据的安全性,达到数据库千万级 QPS 处理能力;最后结合近百项的剧本及自动监控预案措施,进一步加固了春晚数据库服务保障能力,助力春晚活动顺利进行。

技术积累的护航:服务的混部调度、弹性的资源供给、极速稳定的CDN服务

春晚期间,亿级别用户同时启动,上亿的用户同时与百度云服务发起建连。相较于以往简单的摇一摇,这次用户同时访问的业务覆盖搜索、推荐、语音、视频等复杂业务,两周时间内要实现数万级别规模服务器的资源快速筹备与使用方案制定。

技术方案上,重点通过百度云集群内部全混部,利用集群流转支持,满足春晚活动资源需求。混部调度意味着选择合适资源,部署合适任务,并做好安全的隔离与服务保护机制。百度春晚活动服务混部调度采用 BestEffort(BE)模式,弹性使用全百度云的集群资源。

BE 模式对原正常业务实现了无侵入使用,满足了春晚服务提前进场与快速便捷退场的需求,顺利通过了活动的多轮压测工作与最终线上的效率与质量考验。同时围绕潜在问题场景,设计了秒级弹性伸缩的方案,为潜在的未知春晚力量做足万全准备。

百度云的媒体云平台是一个涵盖了视频/图片类数据的采集、生产、上传、存储、处理、分发、播放的一体基础设施云平台,具备国内最大的万亿文件千 P 数据的存储、每天千万级媒资处理、数百节点 50T+带宽的分发网络和一站式智能视频解决方案。

大规模工程能力的保障:高效的工程能力、自动化、自助化压测平台、全要素链路压测与攻防


春晚红包项目涉及数十个产品和平台,110+种场景,280+个预案,百余团队参与,上千人协同,平均每天新增需求和任务千余个,自动化测试上万次。百度资深产品设计师王一男称,在如此大规模协同开发的挑战下,春晚红包项目能够高效、高质量交付,离不开百度长期积累的技术文化和工程能力、集团统一的工程标准和研发规范、可靠高效的开发工具和协作平台。

再好的架构设计,也需要上战场真实规模演练,春晚蓝军就负责为春晚系统制造各种麻烦。首当其冲的就是全要素全链路压测,用来模拟真实用户行为,构造大于春晚极限并发的压力洪峰,验证从供电、网络等基础设施,到上层软件架构的服务能力。

百度架构师曹轩表示,压测的核心是要摒弃正向思维模式,强调机械的覆盖与验证,不放过任何一个“绝对不会出问题”的环节。与此同时,为了验证春晚系统应对异常的能力,百度主动构造随机异常。基于对高可用架构的丰富经验,百度架构师专门选取系统的“七寸”发起主动攻击,来验证系统的架构容灾能力和应急指挥机制。

总体而言,能够在不宕机的情况下抗住春晚 200 余亿元红包的交互,是百度调度多方面技术资源的结果,同时也表明百度的技术实力并非浪得虚名。

百度发的208亿春晚红包,靠这样的技术送到了你手上 | 解读相关推荐

  1. 抖音春晚红包百亿互动量级背后,火山引擎浮出水面

    电商大促和春晚互动是中国互联网的两个流量巅峰,新的应用与玩法层出不穷,同时,也考验和显示了巨头的技术进阶与运维保障的实力. 刚刚过去的2021年春晚的互联网巨头主角是抖音,借着与2021年央视春晚独家 ...

  2. 微信推视频红包;百度春晚红包互动 137 亿次;谷歌用皮影庆猪年 | 极客头条...

    「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有料的新闻资讯,让所有技术人,时刻紧跟业界潮流. 快讯速知 视 ...

  3. 用Go重构C语言系统,这个抗住春晚红包的百度转发引擎承接了万亿流量

    整理 | 夕颜 出品 | AI科技大本营(ID:rgznai100) 11 月 20 日,百度的万亿流量转发引擎 BFE 登上了 GitHub Trending Top 3,今日 Star 已突破 2 ...

  4. 用 Go 重构 C 语言系统,这个抗住春晚红包的百度转发引擎承接了万亿流量

    整理 | 夕颜 出品 | AI科技大本营(ID:rgznai100) 11 月 20 日,百度的万亿流量转发引擎 BFE 登上了 GitHub Trending Top 3,今日 Star 已突破 2 ...

  5. 春晚红包:挺住的百度和崩坏的应用商店

    2019年2月5日,当中央电视台春节联欢晚会落下帷幕的时候,笔者的朋友圈出现了这样一条消息:"顺利抗住宇宙第一大IP,全程无宕机!" 挺住的百度 相信很多人都猜到了上面这条朋友圈是 ...

  6. 一个“扛住100亿次请求”的春晚红包系统

    文章来源:https://sourl.cn/wRp68e 前 言 偶然看到了<扛住100亿次请求--如何做一个"有把握"的春晚红包系统>一文,看完以后,感慨良多,收益很 ...

  7. 百度春晚红包分享链接遭微信屏蔽 已有超700人集齐好运卡

    [TechWeb]1月29日,今年百度和2019年"春节联欢晚会"达成独家互动合作,春晚大家可以用包括百度app在内的多款百度系app来抢红包. 作为预热,昨天百度app启动了&q ...

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

    我正在知识星球「赚钱笔记免费版」和朋友们讨论有趣的话题,你⼀起来吧?https://t.zsxq.com/ayVvVzB 全网已公布的红包累计: 30亿! (1月29日更新)抖音入场,活动启动:集音符 ...

  9. 扛住100亿次请求——如何做一个“有把握”的春晚红包系统

    戳蓝字"CSDN云计算"关注我们哦! 作者 | xiaojiaqi 责编 | 阿秃 前几天,偶然看到了 <扛住100亿次请求--如何做一个"有把握"的春晚 ...

最新文章

  1. 图像数据增强(平移,旋转,亮度变换,翻转,添加高斯噪声,缩放,裁剪)
  2. bt云服务器地址,windows2008搭建bttracker服务器
  3. 吴恩达机器学习【第六天】神经网络模型
  4. html 背景区域设置,HTML5 背景的显示区域实现
  5. 多线程01,线程基础知识
  6. livereload浏览器自动刷新
  7. 基于单片机的HC-SR04超声波模块测距仪设计(数码管显示)
  8. arping 本机出现 timeout 问题
  9. MS08067红队攻防班 第5期 开班倒计时1天~
  10. 【解决】updateAppMessageShareData:fail, the permission value is offline verifying
  11. 计组--CISC和RISC特点和区别
  12. mybatis中查询oracle数据库date类型的时间没有时分秒
  13. 华东师范大学副校长周傲英:未来,中国需要什么样的数据库?
  14. 基于Revit铝模板设计-区域配模
  15. 测试中常用的批处理命令
  16. 为什么要升级BIOS呢?(1)
  17. Android的MotionEvent和事件处理
  18. 微信小程序input输入框密码的显示与隐藏
  19. spring常见漏洞总结
  20. 如何精准查找 Maven 依赖

热门文章

  1. epoll/select
  2. context-param与init-param的区别与作用
  3. Asp.net开发过程中,我们会遇到很多Exception
  4. 2018-3-27 遗传算法中的轮盘赌
  5. 2018-3-20李宏毅机器学习笔记十----------Logistic Regression
  6. Session 常见操作
  7. sql序列(2) sql语句功能表
  8. windowsclient开发--为你的client进行国际化
  9. npm-run 自动化
  10. [JAVA] DUMP