1亿人点赞的晚会,如何做技术沉淀?

阿里妹导读:今年是双11的第11年,猫晚的第5年。今年的天猫双11狂欢夜(简称“猫晚”)有超200个国家和地区通过优酷APP观看猫晚直播。5144万人通过猫晚公益直播间观看明星卖农货,网友在淘宝直播间点赞1亿次,海外艺人参与的节目超过了四成,晚会版权输出到106个国家和地区,实现了除南极洲外的全覆盖。尽管猫晚一年只有一次,却有许多明星为它打call,包括马老师和泰勒。一年只用一天的系统如何做技术沉淀?且听阿里文娱高级技术专家郭超细细道来。

2019猫晚不仅在优酷,还打通手淘、天猫等APP,实现了多屏、多端、双向的互动,将互联网晚会的互动形态推进到3.0时代。如晚会上跑男队和街舞队在一个4×8米的巨型触摸屏上玩起了“好礼对对碰”游戏。优酷和淘宝的网友在APP端也可以选择加入某一战队,游戏比分实时计入明星嘉宾的成绩中,影响节目进程。观众还可以通过互动打赏给喜爱的节目“打call”,优酷直播间63%观看晚会的用户参与了互动,较去年增长7%。很荣幸,我能有机会参与到双11猫晚项目,借这个机会给大家分享技术在猫晚过程和思考。

2019“猫晚”现场,图为腾格尔唱《High歌》

技术目标如何定?

猫晚KO时,总负责人说猫晚是给天猫双11消费者办的晚会及回馈,所以我们目标不仅要给消费者提供视觉盛宴,还要给消费者带来实惠,要给商家带货;虽然自古忠义不能两全,鱼与熊掌不可兼得,但是项目组同学即使执手相看泪眼竟无语凝噎也要咬牙接下有挑战的目标。基于这几个方向团队开始做分解,猫晚产品技术运营设计团队核心要承载晚会的传播影响力、丰富有趣的互动形式、以及进店的引导和让消费者实惠的权益发放。

明确定位后猫晚的核心业务目标相对就清晰了,基于业务目标技术同学进一步分解首要是业务目标支撑,稳定是底线、体验要保证、权益全发放、不能有资损(还有团队有成长、系统有沉淀)。

业务技术大图所以猫晚技术目标制定的思考路径是,首先是看行业、看大盘、看业务、看团队;然后分解目标,找到关键指标和抓手及相关团队;最后去量化,定有挑战的指标和倒计时的里程碑。**

制定技术目标图

技术如何保障公平一致的体验?

体验一致是因为晚会公域互动主打手淘、优酷、天猫APP,为即将到来的双11预热,让用户在看晚会时候就能边看边玩、边玩边买,所以主持人口播时候每次都会提醒打开手机摇一摇可以在手淘、天猫和优酷APP参与互动,这就要求多端需要同时弹起和关闭互动、展示内容一致、玩法一致、抽奖时间一致。

基于以上几个需求,猫晚今年的解法是第一次完全一套代码,运行到手淘、天猫和优酷,在优酷侧部署的代理服务只承载转发和适配不做其他任何业务、核心服务部署到集团机房承载所有的互动玩法和权益发放,技术架构图如下:

技术架构图

提到公平,为什么存在公平性的问题?

核心原因在于因为不可抗力的用户网络延迟、现场信号延迟以及内容生产制作过程中的延迟,如果技术上不处理可能存在的问题大家互动弹起的时间分布完全不同,那么很可能你还没开始游戏或者正在玩游戏,有的人已经把那些一元购以及终极大奖替你还49999花呗的权益抽取完了,这个带来的挫败感和不公平感实在叔可忍婶婶不可忍,所以猫晚引入了以下四个机制来保障:

  1. 客户端和服务端通过CSN及无线RPC网关轮询对表,保障客户端维护的时钟和服务端一致;
  2. 现场布置延迟机,反复实测现场延迟以及内容制作过程中的延迟时间;
  3. 运营操作节目单事件点击和主持人话口与导演组反复沟通及演练对齐;
  4. 最后根据2和3的时间delay在直播流中插入SEI,内容消费端再解析SEI信息,根据节目开始时间弹起互动。

高并发脉冲流量如何抗?

猫晚比较典型的是打底常驻流量一直有,然后每轮互动带来脉冲流量,针对这些场景猫晚这面的核心思路是以下三板斧:多轮全链路压测、应用预热、防刷限流兜底;以上三点可能大家都比较熟悉每次大型活动的默认项,除了以上点还可以聊一聊比较有晚会特色的优化比如削峰、路由、下游保护。

1)路由

猫晚比较典型的打底流量节目单polling,所有同时在线用户每45S都会轮询一次,技术同学准备了路由方案,默认所有请求100%走无线RPC网关,但是可以动态下发路由比例给前端,当无线RPC网关压力较大或者即将超过目标限流值时或者流量评估模型有问题时可以走预案切换比例到轮询CSN,以保障系统稳定性。

总结:根据流量情况动态路由分发是兜底和保证体验的利器。

2)削峰&错峰

★ 错峰:

a、公私域互动在节目进程中叉开投放时间,避免并发同时来临;
b、20点及21点集团有红包雨,和导演组沟通及演练互动错开整点的前后几分钟,防止给权益平台带来集中压力;
c、在私域像红包雨、入场红包、密令红包等互动通过中间件消息下行通道投放,降低私域服务端压力。

★ 削峰:

a、客户端向后台提交数据有压力的点都采用在一定时间范围内随机打散算法;
b、红包雨控制中奖率,同一个用户的多次点击可以配置有效请求数;
c、终极宝箱个数查询提前打散异步15S预查询,避免集中冲击;
d、获得终极宝箱后客户端维护有无标志,挡掉开奖时一部分的集中查询。总结:削峰和错峰需要体验+业务+技术手段相结合,避免技术上过度设计和优化,ROI低。

3)下游保护

猫晚发放核心依赖权益平台,每轮互动结束后都会有抽奖环节,抽奖就要调用权益平台,比如终极大奖开奖时有两个要求:

a、所有用户都可以参与抽取,如果用户没抽中大奖还可以抽打底奖池;
b、要保证大奖全部发出,否则算资损。

这里如果让所有用户先走全部抽大奖然后不中的再来抽打底,就会两次调用权益平台,对下游的调用直接double而且权益平台大奖奖池口也无法承载这么高的流量(大奖权益平台会直接同步操作DB),无论从性能上还是从价值及成本上来看必要性都不大,基于此判断项目组定了以下三个优化action:

a、从业务规则上告诉用户宝箱越多概率越高;
b、从应用上直接分流宝箱较多用户抽大奖奖池,宝箱较少用户直接抽打底奖池;
c、从技术上实时监控统计宝箱分布情况,在前面轮次一旦发现宝箱分布和预期业务规则不一致,启动提前预案,保证大奖必然全部发放。

总结:下游稳定全链路才能稳定,系统设计时要充分考虑对下游的保护。

现场大屏和小屏联动花絮

这里想给大家分享一个猫晚关于预案的小花絮,提醒每个同学预案一定不能只留在预案平台上,需要可应急、可执行、已演练、甚至需要准备备胎的备胎。

为了让内容和互动更精彩,结合更紧密,项目组同学提出要做双向互动,让用户有更强的参与感,去支持自己喜爱的明星并同步参与一样的游戏,数据实时回流现场影响最终PK结果。

做双向互动以前没有先例,因为有以下问题要解决:

a、现场环境复杂,对设备及通讯等都会有干扰;
b、链路长,可控性差,除猫晚内部团队协同外还涉及导演组、主持人、明星等外部配合;
c、直播现场突发情况多,对应急能力要求高。

果不其然从需求反复调整对齐,CodeReview以及全链路压测,手淘天猫集成,集团技术汇报,直播演练及和导演组对话口一路解决各种风险;等项目组同学进入现场后才发现以前的问题只是毛毛雨,先看下时间轴和现场大屏和直播画面示意图:

  • 9月份就开始提前启动在广州、东莞、虎门等地多次实测现场大屏效果,进场前确认完全没问题;
  • 11.6进入现场第一次排练就发现现场信号嘈杂,触摸屏触摸会失灵,现场每次可以给的检修时间非常有限;
  • 11.8号依然未能修好,和导演组沟通希望尝试预案演练;
  • 11.9号晚明星彩排吊威亚看台同步配合操作,看台给的机位切换,导致看不清大屏操作,演练效果依然不好;
  • 11.10上午导演组一度考虑拿掉该环节;
  • 11.10晚上现场同学顶住压力,完美呈现首次双向联动。

现场和线上双向互动图

大屏交互示意图

回到现场大屏操作异常时准备的预案,重点说明进场前技术准备的只有一级预案,后面的全是随机应变根据现场情况和产品同学一起讨论临时制定的预案。

一级预案晚会前演练触摸使用,异常检修;
二级预案是无法检修换大屏机器;
三级预案是大屏机器无法更换,需要看台固定1机位,导播车有1人保证机位不会切换,看台口令员和操作员配合键盘同步明星现场操作;
四级预案是操作员1的电脑或键盘异常,热备2机器和热备2同学操作。

总结:

  • 预案一定要可应急、可执行、已演练、甚至需要准备备胎的备胎;
  • 技术要有追求,多想可能的办法,时间越紧张越要把预案做细,做简单。

总结:一年只用一天的系统如何做技术沉淀?

像天猫双11晚会类似的项目,平时不承载流量,没有专门的维护团队,随着猫晚启动抽调各个团队来共同承担,参与到项目的技术同学该如何让自己成长和收获呢?我自己总结有以下几点:

a、学会思考和制定技术目标;
b、锻炼技术PM能力,不设边界,有技术预判,识别解决风险,保障目标坚决落地;
c、有匠心:对性能和体验及技术方案上需要极致、细致;
d、为后人栽树:工具、组件、产品、组织能力沉淀;
e、复盘能力:复盘从参与项目的第一天开始,思考突破与沉淀;
f、拓宽视野:偶尔跳出专业领域,发现技术外的视角,看其他领域及合作团队的思考,学习周边优秀的小伙伴。

因为人员太多,无法一一感谢,感谢阿里文娱猫晚的所有同学,因为有我们2019双11猫晚更精彩。

入驻现场的我们

猫晚开始前现场作战室的我们

现场没时间看易烊千玺、看泰勒、看马老师的我们


原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/517290.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

K8s 集群节点在线率达到 99.9% 以上,扩容效率提升 50%,我们做了这 3 个深度改造

导读:2019 年阿里巴巴核心系统 100% 以云原生方式上云,完美地支撑了 双11 大促。这次上云的姿势很不一般,不仅是拥抱了 Kubernetes,而且还以拥抱 Kubernetes 为契机进行了一系列对运维体系的深度改造。 Kubernetes 作为云原生的最…

IDC:移动云进入云运营服务市场前五!

据IDC最新发布的《中国云运营服务市场跟踪,2019H2》显示,2019年下半年中国云运营服务市场规模达到107亿,同比增长27.9%。其中,移动云在全国云运营服务市场份额中占比4.9%,排名进入前五。什么是云运营市场服务&#xff…

三级联动

引入插件的css和js代码&#xff1a; <link href"./css/LArea.css" rel"stylesheet" > <script src"./js/LAreaData1.js"></script> <script src"./js/LArea.js"></script> html代码&#xff1a; <…

Attribute “singleton” must be declared for element type “bean”.

文章目录一、分析定位1.异常现象2.分析定位二、解决方案2.1.找坐标2.3. 找jar包2.3. 打开jar包2.4. 找目录2.5. 编辑xfire.xml2.6. 编辑xfireXmlBeans.xml一、分析定位 1.异常现象 Attribute “singleton” must be declared for element type “bean”. 2.分析定位 因为&a…

高德JS依赖分析工程及关键原理

一、背景 高德 App 进行 Bundle 化后&#xff0c;由于业务的复杂性&#xff0c;Bundle 的数量非常多。而这带来了一个新的问题——Bundle 之间的依赖关系错综复杂&#xff0c;需要进行管控&#xff0c;使 Bundle 之间的依赖保持在架构设计之下。 并且&#xff0c;为了保证 Bu…

为了这个技术,操作系统把 CPU 害惨了!

来源 | 编程技术宇宙责编 | Carol封图 | CSDN 下载自视觉中国内存访问瓶颈我是CPU一号车间的阿Q&#xff0c;前一阵子我们厂里发生了一件大喜事&#xff0c;老板拉到了一笔投资&#xff0c;准备扩大生产规模。不过老板挺抠门的&#xff0c;拉到了投资也不给我们涨点工资&#x…

一个周内上线50个增长策略,竟然能这么高效!

导读&#xff1a;年初的一个晨会上&#xff0c;用户增长负责人湘翁问我说&#xff1a;一个周内上线50个增长策略&#xff0c;技术兄弟们能做到么&#xff1f; 在闲鱼用户增长业务上的实验 闲鱼的用户增长业务具有如下现状&#xff1a; 闲鱼的卖家都是普通小卖家&#xff0c;而…

cannot convert value of type ‘org.codehaus.xfire.spring.editors.ServiceFactoryEditor

文章目录一、分析定位1.异常现象2. 分析定位二、解决方案2.1.找坐标2.3. 找jar包2.3. 打开jar包2.4. 找目录2.5. 编辑customEditors.xml一、分析定位 1.异常现象 cannot convert value of type ‘org.codehaus.xfire.spring.editors.ServiceFactoryEditor 2. 分析定位 原因…

网商银行首席架构师余锋:网商银行的每一笔贷款都是AI贷款

11月28日&#xff0c;在2019年度观察家金融峰会上&#xff0c;网商银行首席架构师余锋表示&#xff0c;网商银行在人工智能领域一直在探索新的应用方向&#xff0c;目前网商银行的每一笔贷款都是AI贷款。 网商银行是国内首家运行在云上的银行&#xff0c;没有线下网点&#xf…

解密 云HBase时序引擎OpenTSDB 优化技术

逝者如斯夫&#xff0c;不舍昼夜。 —— 孔子 时间如流水&#xff0c;一去不复返。自古不乏对时间流逝的感慨&#xff0c;而现代已经有很多技术记录流逝的过去。我们可以拍照&#xff0c;可以录像&#xff0c;当然还可…

官宣!CSDN 重磅发布「AI开源贡献奖Top5」「AI新锐公司奖Top10」「AI优秀案例奖Top30」三大榜单...

2020 年无疑是特殊的一年&#xff0c;AI 在开年的这场“战疫”中表现出惊人的力量。站在“新十年”的起点上&#xff0c;CSDN发起【百万人学AI】评选活动。我们继续聚焦AI的技术落地&#xff0c;关注开源和新生的力量。作为CSDN第三届AI评选活动&#xff0c;本次活动受到数百家…

SpringBoot2 整合 XFIRE 服务端和客户端

文章目录一、集成XFIRE1. 版本选型2. 导入依赖3. 注入XFireSpringServlet4. 创建一个xml文件5. 使用ImportResource注入xml6. 创建WebService接口6. 创建实现类7. 添加配置类8. 工具类二、XFIRE 发布服务2.1. 运行项目2.2. 异常解决2.3. 测试验证三、XFIRE客户端开源源码.一、集…

css3动画过渡按钮

css(css代码是网上找的)和html代码&#xff1a; .mui-switch {width: 52px;height: 31px;position: relative;border: 1px solid #dfdfdf;background-color: #fdfdfd;box-shadow: #dfdfdf 0 0 0 0 inset;border-radius: 20px;border-top-left-radius: 20px;border-top-right-ra…

阿里云上万个 Kubernetes 集群大规模管理实践

内容简介&#xff1a; 阿里云容器服务从2015年上线后&#xff0c;一路伴随并支撑双十一发展。在2019年的双十一中&#xff0c;容器服务ACK除了支撑集团内部核心系统容器化上云和阿里云的云产品本身&#xff0c;也将阿里多年的大规模容器技术以产品化的能力输出给众多围绕双十一…

SpringBoot2 整合 AXIS 服务端和客户端

文章目录一、服务端1. 版本选型2.导入依赖3. SERVLET4. 接口5.实现类6. 配置工厂7.启动类8. WEB-INF目录18. WEB-INF目录29. /目录19. /目录210. wsdd11. 测试验证二、客户端开源源码.一、服务端 1. 版本选型 阿健/框架版本spring-boot2.5.4axis1.4axis-jaxrpc1.4commons-dis…

地理文本处理技术在高德的演进(下)

在【上篇】里&#xff0c;我们介绍了地理文本处理技术在高德的整体演进&#xff0c;选取了几个通用query分析的点进行了介绍。下篇中&#xff0c;我们会选取几个地图搜索文本处理中特有的文本分析技术做出分析&#xff0c;包括城市分析&#xff0c;wherewhat分析&#xff0c;路…

真正拿大厂offer的人,都赢在这一点

学好一门技术最有价值的体现就是“面试”&#xff0c;对于大部分人来说 “面试”是涨薪的主要途径之一&#xff0c;因此我们需要认真的准备面试&#xff0c;因为它直接决定着你今后几年内的薪资水平&#xff0c;所以在面试这件事上花费再多的时间和精力都是值得的。你会发现有…

今天的这个小成绩,需要向阿里云的朋友报告一下!

今天&#xff0c;想向大家报告一个最新的小成绩&#xff1a; 在数据库领域的权威评选——Gartner全球数据库魔力象限评比中&#xff0c;阿里云成功进入“挑战者”象限&#xff0c;连续两年作为唯一的中国企业入选。 最新评选表明&#xff0c;阿里云过去一年在产品技术领域进展迅…

90%的人会遇到性能问题,如何用1行代码快速定位?

阿里妹导读&#xff1a;在《如何回答性能优化的问题&#xff0c;才能打动阿里面试官&#xff1f;》中&#xff0c;主要是介绍了应用常见性能瓶颈点的分布&#xff0c;及如何初判若干指标是否出现了异常。 今天&#xff0c;齐光将会基于之前列举的众多指标&#xff0c;给出一些常…