写点什么

ALive:淘宝双 11 直播,技术同学却可以“偷懒”?(一)

  • 2019-12-17
  • 本文字数:1701 字

    阅读完需:约 6 分钟

ALive:淘宝双11直播,技术同学却可以“偷懒”?(一)

✪ “疯狂的”淘宝直播间 ✪

今年直播又火了!


2019 年双 11 淘宝直播带来近 200 亿 成交,以天猫双 11 交易总额 2684 亿计算,直播已经占总成交额的近 7.45%!


✪ 今年的变化 ✪

除了以往的手淘和猫客,现在 UC 浏览器、新浪微博、支付宝、优酷、闲鱼、飞猪、饿了么、口碑等等一系列阿里系 APP 里也可以观看直播、购买商品了,可以想象一下这些场景:


  • 点了一杯奶茶外卖,在本地生活 APP 里通过直播能够看到小哥哥正在制作谁的订单,我排在第几号了,线下门店的卫生情况、制作过程、客流量、商品咨询都可以在直播间里了解到

  • 在支付宝小程序里,边看直播边抢主播发来的口令红包

  • 在阿里健康的消费医疗直播间里,跟今日特约的医师进行线上咨询

  • 最近在计划一趟旅行,在飞猪 APP 里通过直播看着小姐姐介绍航旅套餐,还有小窗合流的当地风景观光片


除了导购直播、客服直播、医疗直播、手艺直播等等,我们还能看到各种风格类型和互动形式的台网联动直播、秀场直播、晚会直播,以下是今年承接的几场大型互动晚会:



这些直播无论内容和互动有什么样的区别,他们都有一个共同的特征:直播间右上角「淘宝直播」的水印


问个问题,所有这些类型的直播间,都是淘宝直播的开发同学支持的吗?这需要一个多么庞大的技术团队呢?答案是这个团队其实很缺人,所以他们「勤奋」地做了一件「偷懒」的事情:ALive 开放,让阿里经济体里需要直播能力的业务能自主接入、自主开发,于是就有了今年百花齐放的直播生态。

✪ ALive 演进 ✪

ALive 的使命是汇集淘宝直播强大的音视频处理能力,提供直播、互动、营销一体化解决方案,实现「生态开放、直播未来」的愿景。


时移到 2018 年 7 月,当时的淘宝直播还是小作坊模式,所有的业务对接都由淘宝直播技术团队承接,各团队都在超负荷工作。随着对接的外部业务越来越多,各类直播间定制化需求越来越高,技术团队开始构思开放之路,解放一方生产力,赋能二方、三方直播能力。

▶ 分析

直播对于观众来讲其实就是两个诉求:观看直播、参与互动。来看下当时的淘宝直播是如何满足用户这两个诉求的:



整体结构分为两部分:一个是直播能力,一个是互动通信能力。通过直播能力,观众能观看直播流;通过互动通信能力,观众能在直播间里参与实时互动。


  • 直播能力:最简单的模型就是“两端加一服”,即推流端、播放端、流媒体服务器。主播通过推流客户端进行直播推流,我们提供了 PC 端推流工具和淘宝主播 APP 进行 ARTP 低延时推流,流媒体服务经过转码、切片、存储、分发等,供播放端拉流播放。

  • 互动通信能力:主播在中控台创建、管理直播,开播后推送互动,经过业务服务调用和消息下发,端上渲染业务组件。当时的架构,每一个组件都跑在独立的 Weex 容器或 H5 容器里。

▶ 问题

直播能力主要由淘宝直播音视频团队提供,依托阿里云构建了完整的音视频端到端闭环,包括音视频编解码、传输通道、网络调度技术,提供超低延时、超高画质、超大并发访问的音视频服务。二、三方业务只需要接入播放器 SDK ,主播使用我们的推流工具,即可支持直播能力。


互动通信能力主要依赖端侧的技术架构,从上图的架构可以看出两个核心痛点问题:


  • 性能低下:每个组件都是独立的 Weex/H5 页面,内存占用较高,直播间流媒体播放已经占用了较高的内存水位,多个 Weex/H5 叠加后加大了 Crash 风险。同时各组件间相互独立,资源重复加载,加载性能也较差

  • 效能低下:前端组件由客户端挖坑位的方式加载 bundle ,开发、调试环境强依赖客户端,直播环境搭建、消息模拟、数据 Mock 、日志查看、代码调试等链路都非常复杂,开发效率极其低下

▶ 解法

前端的技术工作大部分都在解决两个「能」的问题:性能 和 效能。针对上述痛点,技术侧需要做两件事情:一是构建一个 灵活、高效的直播容器,解决性能问题;二是提供一套 直播间组件开发的工程体系,解决效能问题。在性能和效能都得到提升后,将这些能力通过 ALive 开放平台开放给二、三方业务接入,基于这些思考,我们升级了直播架构:



直播容器的核心区别,是由原来每个组件独立为一个 Weex/H5 容器,变成只保留一个 Weex 容器,通过这个直播容器来动态加载组件。


本文转载自淘系技术公众号。


原文链接:https://mp.weixin.qq.com/s/L5lggzXju1ajAjUfaaDGLw


2019-12-17 14:121100

评论

发布
暂无评论
发现更多内容

风险与机遇并存,数据分析厂商如何突围?

ToB行业头条

天翼云Web应用防火墙(边缘云版)拦截WordPress Elementor漏洞的说明

天翼云开发者社区

防火墙

小程序赛道的发展,让智能电视业务发展如虎添翼

Speedoooo

小程序 物联网 IoT 小程序容器 智能电视

网站的FAQ页面应该怎么写?

小炮

FAQ

区块链赋能不动产—易居EBaaS在不动产领域应用

BSN研习社

区块链

一看即会:Serverless 应用开发的 7 个实战小技巧(文末附好礼)

阿里巴巴云原生

阿里云 Serverless 架构 开发者 云原生

MySQL数据库之数据查询

乌龟哥哥

4月月更

直播预告丨Hello HarmonyOS进阶系列课程重磅来袭,4月27日开播

HarmonyOS开发者

HarmonyOS 智能家居 原子化服务

工程师们看过来|这是我见过的IT圈最“潮”的产品发布会了!

观测云

程序员 可观测性 产品发布会 IT工程师 监测

合作创新,携手共赢!共筑坚实数字底座!

天翼云开发者社区

系统

如何通过灵魂复盘大幅降低业务风险?

Samson

技术管理 复盘 事故 SRE 4月月更

KPI与360度考核结合的应用落地方案

明道云

Sidecar 模式的机制与应用

全象云低代码

Kubernetes 容器 低代码 后端技术 Sidecar

直播预告|企业云原生 IT 成本治理方案解析

阿里巴巴云原生

阿里云 容器 云原生 cncf 直播预告

使用车载小程序,共建车联网联合共赢生态

Speedoooo

车联网 物联网 智能设备 小程序容器 车载设备

OpenHarmony,一路前行,为了奇迹

脑极体

RTE NG-Lab:一起探索下一代实时互动新世界

声网

NG-Lab 声网动态

以南大通用为例,讲一讲如何完成与龙蜥操作系统的兼容验证

OpenAnolis小助手

操作系统 龙蜥社区 南大通用 兼容验证

不知道OpenCLA的注意啦!(OpenCLA签署须知)

Jianmu

开源项目 开源社区 建木CI CLA 贡献者许可协议

全场景式全流程监控,博睿数据为券商IT运维难题提供了范例

博睿数据

测试自动化最佳实践指南

阿里云云效

云计算 阿里云 测试 自动化测试 测试自动化

企评家|国家电网有限公司成长性报告简述

企评家

企评家|广州珐玛珈智能设备股份有限公司企业成长性报告简述

企评家

设计千万级学生管理系统的考试试卷存储方案

锎心😌😌😌

最新云原生网络技术标准来了,为企业提供基础架构能力权威指南

York

架构 云原生 网络性能

OpenHarmony 技术日| 锻英才以应时需 协教育同繁生态

科技汇

中国科技人,在残酷春天里翘首等待

白洞计划

80+产品正通过兼容性测试,OpenHarmony生态落地已初具规模

科技汇

松灵学院 | Scout mini 仿真指南

松灵机器人

人工智能 机器人 ROS 移动机器人

天翼云:加速推进云网融合共赢算力时代

天翼云开发者社区

大数据

企评家|天津三英精密仪器股份有限公司成长性报告简述

企评家

ALive:淘宝双11直播,技术同学却可以“偷懒”?(一)_文化 & 方法_淘系技术_InfoQ精选文章