干货!目睹直播是如何应对海量观看负载的?

    1月20日云栖大会上海峰会在上海科技馆开幕。作为云数据领域最大的技术峰会,关注度很高,峰会门票在发售后不久便已售罄。主办方采用了网络直播的方式做现场直播,目睹直播(mudu.tv)作为云栖大会直播合作伙伴服务于云栖大会的网络直播。那么在应对云栖大会这种大流量访问的直播活动,目睹直播是如何保障直播的呢?

 05.jpg

来自目睹直播的后台数据,直播开始后,访问人数在很短的时间内就上升到一万的峰值,然后随着内容热度持续急速攀升。那么作为网络直播的云上平台,是如何来应对短时间蜂拥而至的观看用户呢?

 

以下是截取目睹直播控制平台某一次直播的流量分布图,我们可以看到观看的峰值并不是按一定的曲线逻辑来的。001.png

不同于现场,直播过程中,内容节点之间的观看数量差距很大,直播访问量,有可能达到平常的百倍。特别是大型活动,主办方在短时间内的宣传推广引流以及加上活动本身的关注度,会让观看访问瞬间增大,达到波峰。


    但是这样的请求不是常态,基于成本考虑,直播平台也不太可能常备应对百倍峰值的服务器,于是就需要能动态拓展的服务能力。为了保障网络直播的平稳运行,目睹直播是这样应对突如其来的海量请求的:
一、目睹直播使用阿里云的负载均衡服务,按量计费ECS
    依赖阿里云完善的API,目睹直播可以动态的增加服务器,当有大型活动时,短时间内集结庞大的服务集群来承担暴增的请求。

二、使用docker容器技术

具备了动态调运服务器的能力后,直播平台又是怎么将直播服务快速部署到新增的服务器上,怎么自动的配置对应的服务呢?如果我们需要手动去启动对应的程序,更改配置,那么远远达不到几秒内拓展服务的要求。于是,接下来直播平台需要将应用打包,并在很短的时间内动态部署到新增的服务器里面。借助docker容器技术,部署时间小于10s。

三、遍布全国的CDN分发
    直播分发可以将播放请求连接到就近的CDN节点,可以大大提高分发效率并保障播出效果。目睹直播与阿里云,又拍云,网宿等CDN厂商建立了深度的合作,借助遍布全国的CDN分发能力,让全国的观众无压力地获得高清、流畅的视频画面。

四、强大的数据后台分析能力
    目睹直播不满足于仅仅提供看到直播,我们必须提供给用户详尽的数据,给用户诸如观看用户信息,地域分布统计,在线数量统计,观看设备终端统计,观看时长、登录时间节点等等各种数据。如果仅仅只有观看,没有数据分析的直播,是很容易实现的,这主要依赖CDN的分发能力。而数据的分析与统计则是平台在海量用户请求下的高难服务能力。
    为了应对如此巨量的数据统计,目睹直播在后端搭建了一整套的异步分析服务,每秒能处理几千个请求,并且将分析任务异步加入队列,在有突然到来的海量请求时,这些分析任务会加入队列,数据会在后端慢慢处理,这样即使有超过预料的暴增用户,也不会影响用户观看直播。
    依赖目睹直播的一整套应对海量请求的机制,目睹直播得以从容地处理了阿里云十万级的直播观看、云上直播,让云生态在“互联网+”的大环境下更好的发展。

 


联系我们

服务时间:9:00--21:00

紧急技术支持:21:00--9:00

咨询热线:4009-618-610

热线