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

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

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

\\

eafec7a577dd9d1d72e893e3573d5db3.png

\\

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

\\

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

\\

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

\\

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

\\

f0b181342fc3cfe853cf26be750b059b.png

\\

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

\\

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

\\

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

\\

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

\\

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/109040.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 约瑟夫环问题递归解法的一点理解

    约瑟夫环问题递归解法的一点理解约瑟夫环递归解法代码的一点理解。约瑟夫生者死者游戏约瑟夫游戏的大意:30个游客同乘一条船,因为严重超载,加上风浪大作,危险万分。因此船长告诉乘客,只有将全船一半的旅客投入海中,其余人才能幸免于难。无奈,大家只得同意这种办法,并议定30个人围成一圈,由第一个人数起,依次报数,数到第9人,便把他投入

  • python爬虫入门教程(二):开始一个简单的爬虫

    python爬虫入门教程(二):开始一个简单的爬虫python爬虫入门教程,介绍编写一个简单爬虫的过程。

  • C# XML基本操作

    C# XML基本操作介绍XML基础概念:扩展标记语言(ExtensibleMarkupLanguage,XML),用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自

  • mac双系统选择启动_mac装双系统好不好

    mac双系统选择启动_mac装双系统好不好解决方案1:开机时长按option键,进入系统选择界面:用左右方向键选择到你要设置为默认启动的盘,然后同时按下ctrl+enter键,即可将其设置为默认启动的系统。解决方案2:选择mac系统进入后,点击系统偏好设置—–>启动磁盘—–>进入如下图界面:首先点击最下面的锁图片,然后再进行更改,选择你要设置为默认启动的系统后,点击

  • Java中的WeakHashMap

    Java中的WeakHashMap楔子WeakHashMap,此种Map的特点是,当除了自身有对key的引用外,此key没有其他引用那么此map会自动丢弃此值,所以比较适合做缓存。WeakHashMap的这种特性比较适合实现类似本地、堆内缓存的存储机制——缓存的失效依赖于GC收集器的行为WeakHashMap的定义如下:publicclassWeakHashMap<K,V>extendsAbstract…

  • IE中输入框绑定input事件触发解析(input事件初始化自动执行问题解决)

    IE中输入框绑定input事件触发解析(input事件初始化自动执行问题解决)在React项目中碰到了个问题,输入框绑定了input事件,在IE中初始化会自动执行,刚开始以为是只要有placeholder就会导致问题,后面网上搜了一轮,自己手撸了一下,总结了导致绑定的input事件自动执行的原因1.输入框的值为空,2.placeholder改变(注意这个改变的就算前后的placeholder值一样也算改变;还有就是input获得焦点时和失去焦点时,也会改变;但是改变前后…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号