进行直播类app开发,关于内容分发你了解多少

2021-10-28 | 浏览数:768

很多直播类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开发要注意使用内容分发网络的延迟,虽然分发速度很快,但是还是存在一定的延迟的,可以在其他部分尽量缩短延迟,将延迟控制在平衡的范围内。