Weex如何支撑200w+同时在线的优酷猫晚直播?

缘起

虽然优酷直播在线上已经有业务稳定运行,但是我们还是遇到了大量问题需要解决。

除开直播晚会现场这个最重要的功能之外,晚会项目组还规划了点赞/分享有礼,竞猜,开宝箱,红包雨等五花八门的互动玩法,需要在原有的Native直播间上增加大量的功能。

更加雪上加霜的是,晚会的招商并未结束,对直播会场的需求一直在变化。特别是直播会场换肤的需求可能导致会场的框架结构发生大幅度变化,用老的Native直播间应对这种需求变化比较困难。

所以我们决定用Weex重写一个新的优酷直播间,全面还原当前的Native直播间的业务,同时添加对各种双十一互动玩法的支撑。老的Naitve直播间仅仅作为降级的备用直播间。

组件封装

在开始正式工作之前,我们的第一件事情是划分功能模块,确定哪些模块用Weex sdk或者aliweex自带的原生组件实现, 哪些模块需要把现有的Native代码封装为一个Weex Component供Weex业务代码引用。

上图即为双十一优酷直播间的最终形态,其大致的技术架构图和功能如下图所示。

经过评估,我们做出如下模块划分:

会场框架: 由Weex业务代码搭建

回看列表tab: 是一个包含图文的视频列表,由Weex原生实现

聊天tab: 包含了大量聊天气泡动效和复杂的业务逻辑,将原有的聊天室Native代码封装为Weex Component

图文直播tab:包含了投放图片,文字,视频,商品链接等复杂的逻辑,将原有的Native代码封装为Weex Component

播放器组件:将原有的优酷直播播放器Native代码封装为Weex Component

点赞标签: 这个组件被点击或者收到服务端推送的互动消息时会飘出大量的动画,我们的选择是将原有的Native代码封装为Weex component

自定义Tab: 这个组件我们自行封装了一个webview的Component,包含多种功能

阅读原文

你可能感兴趣的:(Weex如何支撑200w+同时在线的优酷猫晚直播?)