写点什么

又拍云黄慧攀 QCon 2016 技术分享:直播平台架构与实施

  • 2016-05-05
  • 本文字数:1417 字

    阅读完需:约 5 分钟

QCon 2016 全球软件开发大会日前在北京落下帷幕,作为全球顶级技术盛会,自 2007 年首次举办以来,已经有超万名高级技术人员参加过 QCon 大会。本届大会主题为“升级你的软件思维”,包括惠普、亚马逊、新浪、阿里巴巴、美团、豆瓣、又拍云在内的 100 多位国内外技术专家参与主题分享。

随着移动网络的不断升级,赛事直播、秀场直播等直播需求愈演愈烈,并不断向移动终端设备上蔓延,用手机边走边看球赛或是用自拍杆在路边直播情侣表白,已经不算是新奇的玩法了。如何帮助直播应用短时间架起直播平台?如何降低延时,让直播“天涯若比邻”?又拍云 CTO 黄慧攀在本届 QCon 大会上分享了直播技术“云直播平台架构与实施”,这是又拍云投入大量精力自主研发,并在参加 QCon 前一天刚刚发布的直播云产品。

据又拍云 CTO 黄慧攀介绍,本次参加 QCon 是自 2014 年开始,第三次做技术分享,分享的内容也是最前沿、可供业内参考和探讨的技术——直播服务。

对直播而言,视频源站的稳定性非常重要,直播不间断、不卡顿,跟源站有直接的关系,对直播效果带来很大的影响。传统直播服务多采用单一源站,而又拍云直播云将整个平台去单点化,通过打造源站集群,形成多个源站的架构。

单一源站使整个架构系统非常简单,在单一机房,维护一套系统,很容易实现分布式;延时方面不用担心公网网络抖动导致的系统不稳。既然如此,又拍云为何要耗费精力财力打造源站集群?原因在于单一源站的致命缺点:内容源完全受限于一个源站,当机房带宽拥堵,整个平台所有的直播内容都会卡顿;而一旦公网故障,内容就完全推不出去,意味着直播失败。

为了解决这一问题,又拍云在全国六个比较重要的地区,如北京、浙江、江苏、四川、河南、广东的核心节点部署源站集群。一个源站的集群十几台服务器,六个集群大概六十多台的规模。又拍云通过私有光纤网络将六大数据中心打通,形成类似于内网的状态,实现高可用性。整个光纤链路是个环路,互联互通,即便北京到江苏的光缆出现故障,也可以通过浙江转到北京。

因此,直播服务的网络质量更有保障,稳定性和安全性也会更上层楼,同时整个平台具备跨地区的自动容灾的能力。举例来说,直播云面向的群体是主播端或者播放端,终端用户群体遍布在全国各地。在云南的主播用户通过 4G 手机推送到直播内容到就近的视频源站,如广东,这个内容推送上来后将被同步到全国六个其他的源站。全国所有终端用户播放的时候,就可以命中到广东源站获取数据。

这样不仅可以提高网络传输的效率、保障直播的延时效果,同时当视频源站网络中断,系统可以自动的迁移到其他源站,通过 SDK 或者是通过域名解析两种方式均可进行自动化链路选择。又拍云选择 SDK 的方式容错设计,可实现秒级容灾,即广东出现问题即时切换到浙江的视频源。而域名解析的延时和生效周期会较长,是分钟级别的,最快也要将近 5 分钟。

传统的直播架构由于只有一个视频源站,无需二层缓存。而又拍云直播产品采用全国分布式集群架构,除视频源站里还会有一层二级缓存,在源站与源站间合并回源,从而提升加速的效果,降低用户流量成本。

基于此,又拍云所提供的直播服务实现最快延时 1 秒内,平均延时在 2 秒以内,为用户提供无差别的实时直播体验,远快于业内 4 秒左右的延时标准。这一切源于又拍云不久前刚刚发布的直播云产品,可以快速搭建起一套直播平台,提供从推流端到加速服务,再到播放端一整套的解决方案,在 2016 年直播的浪潮里边,客户将快人一步优化直播应用,实现实时直播的乐趣体验!

2016-05-05 01:281877

评论 1 条评论

发布
用户头像
广高
2019-04-30 10:46
回复
没有更多了
发现更多内容

行业智能化走向何方?昇腾AICE带来的新范式,新起点

脑极体

LeetCode-21. 合并两个有序链表(java)

bug菌

9月日更 Leet Code 9月月更

在小程序中开启直播的解决方案

Geek_99967b

小程序容器 小程序开发

剖析智能运维的五大应用场景

穿过生命散发芬芳

智能运维 9月月更

MVCC

急需上岸的小谢

9月月更

SD-WAN网络可靠性设计

阿泽🧸

9月月更 网络可靠性设计

C++学习------iso646.h与limits.h头文件的源码学习

桑榆

c++ 9月月更

LeetCode-26. 删除有序数组中的重复项(java)

bug菌

9月日更 Leet Code 9月月更

业务应用小程序化,一种潜在的技术趋势

Speedoooo

小程序 移动开发 小程序容器

深入学习SAP UI5框架代码系列之四:HTML原生事件 VS UI5 Semantic事件

汪子熙

JavaScript SAP SAP UI5 ui5 9月月更

你真的理解C语言的灵魂 “ 指针 ” 吗?(初阶篇)

Albert Edison

指针 C语言 野指针 9月月更

设计模式的艺术 第八章建造者设计模式练习(开发一个视频播放软件,为了方便用户使用,该播放软件提供多种界面显示模式,例如完整模式、精简模式、记忆模式、网络模式等。在不同的显示模式下主界面的组成元素有所差异。例如,在精简模式下只显示主窗口、控制条)

代廉洁

设计模式的艺术

动态规划-编辑距离

wing

数据治理的内核:数据质量

小鲸数据

数据治理 数据质量管理 数据质量 数据生命周期

Vue基础语法--插槽(Slot)基础使用

Sam9029

Vue 前端 基础 9月月更

时代变了,企业网站应该这么策划内容

石头IT视角

深入学习SAP UI5框架代码系列之三:UI5 控件的渲染器

汪子熙

JavaScript 前端框架 SAP UI5 ui5 9月月更

轻松理解20种常用AI算法

Baihai IDP

AI 算法

技术团队如何高效落地代码CR

慕枫技术笔记

架构 后端 9月月更

计算机网络——速率相关的性能指标

StackOverflow

计算机网络 编程‘ 9月月更

为什么要用小程序容器做小程序生态

Geek_99967b

小程序 小程序容器 小程序开发

DDD领域驱动设计

源字节1号

软件开发 前端开发 后端开发 软件设计思想

跟着卷卷龙一起学Camera--AWB

卷卷龙

ISP 9月月更

SAP系统和微信集成的系列教程之二:如何通过微信公众号消费API

汪子熙

API 系统集成 SAP 微信开发 9月月更

小程序容器技术加入到混合App开发队伍

Geek_99967b

小程序 混合开发

「工作小记」接口请求数据的缓存实践

叶一一

前端 设计思维 9月月更

2022-09-06:以下go语言代码输出什么?A:Hi All;B:Hi go All;C:Hi;D:go All。 package main import “fmt“ func app() f

福大大架构师每日一题

golang 福大大 选择题

SAP系统和微信集成的系列教程之一:微信开发环境的搭建

汪子熙

系统集成 SAP 微信开发 微信平台 9月月更

[极致用户体验] 在微信大字号模式下,网页样式乱了怎么办?

HullQin

CSS JavaScript html 前端 9月月更

小程序能否成为电商的突破口

Geek_99967b

小程序 小程序开发

围绕“开源+深耕”策略和数字化监控手段,动态管理场景生态价值

易观分析

银行 易观 场景金融

又拍云黄慧攀QCon 2016技术分享:直播平台架构与实施_音视频(后端)_UPYUN_InfoQ精选文章