许多直播类app开发都离不开内容分发网络的支撑,也便是咱们常说的CDN,大多数用户拉取的直播流便是从CDN上拉取的。直播类app开发运用内容分发网络的效果,便是将推流到服务器的音视频数据,分发到各个服务器节点上,让用户能够就近拉取数据,分担服务器的压力,今天咱们就聊聊CDN。
一、运用CDN加速
服务器是存储直播类app数据的前言,一般直播类app开发的时分都会部署多台服务器。尽管服务器数量许多,可是地址是单一的,假如I/O压力较大,或者用户区域比较偏僻的话,拜访速度还是比较慢的,这种状况就需求CDN来帮助处理。
直播类app开发时,能够在各地部署多个CDN节点,需求注意的是,这些节点要部署到用户恳求相对集中的区域。这样在用户拜访数据的时分,能够经过负载均衡将用户恳求分配到距离最近的节点上,经过缩短用户拜访的时刻。
二、CDN相关概念常识
1、回源:在进行内容分发时,一般不会将直播类app的音视频数据分发到边际节点上,当用户向边际节点恳求数据时,由于它没有缓存数据,就要向上级节点或源站拉取数据。
2、边际节点:便是直播类app开发部署的离用户最近的节点。
3、源站:便是开始发生数据的节点,一切的节点都是从这儿获取原始数据资源。
4、加速域名:便是用户拜访时,需求运用CDN加速的域名。
5、缓存策略:CDN服务器对用户文件的缓存策略,缓存策略的效果便是对用户文件进行判别,是否发生超时现象,确定超时后判别是否需求回源。
三、CDN作业流程
在直播类app开发的主播端采集到音视频数据后,会经过流媒体协议推送到服务器上,服务器接收到数据后,会将音视频数据分发到各个节点,这样用户恳求数据时就能够向最近的节点拉取了。其实服务器不只能够进行数据分发,还能进行直播音视频的转码、审核,录制和存储。
录制的音视频数据,能够为回放功用的完成提供方便,当然,回放功用也需求CDN的支撑,用户能够经过CDN外链进行拜访。
直播类app开发要注意运用内容分发网络的推迟,尽管分发速度很快,可是还是存在必定的推迟的,能够在其他部分尽量缩短推迟,将推迟控制在平衡的范围内。