什么是CDN?
cac55 2025-01-12 11:45 18 浏览 0 评论
翻译 | Alex 技术审校 | 杨硕 本文来自OTTVerse,作者为Krishna Rao Vijayanagar。
CDN Easy Tech #010#
CDN(Content Delivery Networks,内容分发网络)是分布在世界各地的服务器,它们是视频直播和点播中至关重要的基础设施。CDN位于视频播放器和源服务器之间,负责跨地理区域分发视频内容,并有效保障客户端流畅的观看体验。
在本文中,我们将学习CDN是如何工作的,如果不使用CDN会发生什么,并了解什么是Cache-Hit和Cache-Miss。让我们开始吧!
视频流架构
对于大部分视频直播和点播架构来说,下列操作是常见的步骤:
- 输入源视频并将其发送到转码器。
- 转码器调整视频大小,并将视频压缩成不同码率和分辨率的组合(被称为Profile,即配置文件)。
- 将被压缩的视频发送给封装器,并准备通过HLS和MPEG-DASH等ABR技术分发出去。
- 封装的视频(视频块和索引列表)被存储在视频流服务器或者源服务器上。最后,视频的URL通过CMS被发布出来,并使得应用程序可以访问。
- 当用户按下视频播放键时,源服务器响应来自播放器的请求,并将被请求的视频块分发出去。
我们刚刚描述了一个直播(或点播)的视频流服务架构,这个架构在一开始可能很好用,但是当你添加更多用户、订阅者、内容或者一个视频突然火了以后,它很快就崩溃了。
让我们用一分钟来讨论一下视频突然火爆的情况。
假设有人录制了一首歌并上传到你的UGC平台,突然一下子火了。全世界都想听这首歌,源服务器上来自播放器的请求急剧增长。你认为接下来会发生什么?
首先,你的源服务器将遭到大量请求的“轰炸”:来自时长3分钟的、同一视频中的视频切片,每秒发出1000次请求。就像发生踩踏事件一样!
在这种情况下,源服务器该如何应对?
源服务器将艰难地服务所有请求。即使服务器很强大,它也无法承受如此巨量的请求。
有些播放器也许会请求视频的第一个分片,其他播放器也许会请求最后一个视频分片(具有不同的分辨率和码率)。由于进程或网络 I/O 限制,源服务器很快便无法为众多请求提供服务。
最后,你的终端用户将会遭遇如下问题:
- 视频缓冲:因为服务器无法快速响应用户。
- 首屏时间:因为服务器负载过高,无法分发视频。
- 视频质量较差:因为无法从服务器快速获取高质量(高码率)视频,播放器开始切换到低码率。ABR就是这样发挥作用的!
以上这些问题都会导致糟糕的体验,这可不是正确提供视频流服务的方式。但我们所描述的情况很常见,这在那些广受大众喜爱的视频流服务中几乎每天都会发生。
所以,解决方案是什么?
内容分发网络(CDN)
让我们尝试来解决问题,以下是到目前为止我们所观察到的问题症结:
- 单一服务器要被迫服务100或者1000个客户端(或者视频播放器),无法满足如此多的需求。
- 处于某个地理位置的单一服务器无法将视频分片分发给距离它地理位置较远的客户端。
- 单点故障就会导致糟糕的用户体验。
- 但最重要的是,对同一视频分片的请求数量巨大。
如果我们认真研究上述原因,某种模式似乎正在浮出水面,引领着我们走向问题答案。
如果所有用户端都在请求同一视频分片,为什么不像电脑上的缓存那样缓存视频分片?为什么每次都要向硬盘请求?
所以,让我们在源服务器的前面增加一个缓存层,这个缓存层可以缓存频繁被请求的视频分片并将它们分发出去,而不必每次都要访问源服务器。
然后, 为了服务不同的地理位置,我们可以在世界各地架设几个这样的缓存层,并向附近用户分发视频以及提供快速响应。
以上操作正是设计一个非常简单的CDN的开始。
好了,现在让我们更深入地理解CDN是如何工作的:
- 封装好的视频(也许是HLS或者DASH)被存储在源服务器上,而CDN知道通向源服务器的路径。因此 CDN 知道来自流媒体提供商的所有电影都存在于一堆服务器上及它们的 IP 地址。
- 然后视频播放器被编程为向CDN请求视频,而不是直接访问源服务器。所以视频播放器获取的是CDN的URL。
- 当第一个播放请求到达CDN,CDN缓存中可能没有内容,于是它便将请求转发给源服务器。当CDN收到来自源服务器的响应,它缓存住内容并且发送给播放器。
- 下一次另一个视频播放器(或者同一个播放器)请求同一视频分片时,CDN首先检查缓存看是否已缓存过被请求的内容。如果缓存过,CDN将缓存视频分发出去;如果没被缓存过,CDN向源服务器请求发送视频分片。
关于CDN,你还需要知道一些术语:
缓存未命中(Cache Miss):当客户端向CDN请求内容,而CDN刚好没有缓存该内容时,我们就称之为缓存未命中。发生缓存未命中时,CDN将向源服务器请求未命中内容。源服务器响应后,CDN将缓存内容并将其分发给客户端。
缓存命中(Cache Hit):当客户端向CDN请求内容时,CDN刚好缓存了此内容,这时我们就称之为缓存命中。在这种情况下,CDN将向客户端设备分发缓存内容。
TTL( Time to Live):CDN不会无限期地缓存视频分片或者其他媒体内容。它使用一个名为TTL(Time to Live)的变量来丢弃和刷新那些不被频繁请求的视频内容。这种缓存刷新可以为新内容腾出空间并智能管理磁盘空间。
使用CDN的优势
在视频流服务(直播或者点播)中使用CDN有很多好处,让我们来看下:
- CDN减少源服务器上的负载, CDN的快速响应能确保播放器在其带宽良好时,请求高码率的视频块能够及时接收到,避免缓冲区数据不足的情况。
- 减少源服务器基础设施的压力,因为大部分的负载被CDN承担。除此之外,还会降低源服务器的带宽消耗。
- 由于CDN接入点(Points of Presence,PoPs)分散各地, 所以更容易为广阔的地理区域或者不同地理位置提供服务。
- 安全:因为用户可以自行设置规则并拒绝来自客户端或者IP地址的请求,所以CDN可以有效保护源服务器不受DDoS攻击。因此,在遭受DDoS攻击时,CDN可以充当第一道防线。
总 结
我希望本篇文章能帮助你理解CDN、它的工作原理以及使用CDN的优势。包括Akamai、Fastly、Cloudflare、KeyCDN、LimeLight和Medianova等在内的CDN厂商在向用户交付内容及改善视频观看体验方面都做得非常出色(不同的用例、架构和预算)。
在未来的系列文章中,我们将学习CDN技术中的Multi-CDN、边缘缓存(Edge Caches)和边缘计算(Edge Computing)等概念。
致谢
本文已获得作者Krishna Rao Vijayanagar授权翻译和发布,特此感谢。
原文链接:
https://ottverse.com/what-is-a-cdn-content-delivery-network-live-vod/
延伸阅读:
为什么直播时要用CDN?
为什么视频压缩如此重要
什么是闭合GOP和开放GOP?
理解ABR及其工作原理
讲师招募
LiveVideoStackCon 2022 音视频技术大会 上海站,正在面向社会公开招募讲师,无论你所处的公司大小,title高低,老鸟还是菜鸟,只要你的内容对技术人有帮助,其他都是次要的。欢迎通过 speaker@livevideostack.com 提交个人资料及议题描述,我们将会在24小时内给予反馈。
- 上一篇:什么是CDN?CDN的技术原理是什么?
- 下一篇:CDN技术原理详解
相关推荐
- Mac右键菜单如何设置?_mac 右键菜单
-
Mac的用户都知道,Mac和Windows很大的区别在于,Windows可以使用鼠标右键完成的很多快捷操作,例如右键剪切、右键新建文件、右键快速访问等等。在工作学习中,这种快捷操作会大大提高我们的工作...
- Office局部加密隐藏信息_office隐藏修改痕迹
-
除了日常使用的图片、音视频文件外,我们还常常和别人共享使用一些Word或Excel办公文件。而这些文件中的部分内容,也许是我们不希望别人看到的。这时,就需要对Word文档或Excel表格中的部分数据实...
- 不常见但100%好用的电脑快捷键_最全的电脑快捷键
-
办公人士或者经常使用电脑的人已经熟悉了常见的Ctrl+C/V等快捷键,想要更高效、专业的操作技巧来提升工作效率。接下来,同创双子双子IT运维工程师帮忙整理了一些不太常见但非常有用的快捷键。比如Alt+...
- U盘文件被隐藏怎么恢复 U盘文件恢复隐藏的方法
-
U盘文件被隐藏怎么恢复?U盘文件被隐藏其实这是中了一种U盘病毒,它会恶意的将U盘中的文件夹隐藏起来,采用常规的方法,都无法打开查看。这种U盘病毒会把文件夹的属性给篡改掉,文件设置被改成只读、隐藏,在文...
- win7查看隐藏的文件怎么操作 win7如何打开隐藏文件
-
win7查看隐藏的文件怎么操作?在使用电脑时,有一些用户会将文件设置为隐藏属性,以保护隐私。此外,还有一些系统文件默认处于隐藏状态。那么,如何操作才能打开这些隐藏文件呢?小编今天在这就为大家分享一下w...
- 系统小技巧:八个实用设置 藏于桌面右键
-
我们除了在桌面上执行鼠标单、双击操作外,常常也会用右键菜单命令查看文件或显示属性等。其实,除此之外,桌面里还隐藏着不少可被我们利用的实用右键操作项目。下面的这些Windows10桌面右键操作技巧,不...
- 移动硬盘中的隐藏文件如何恢复显示?可尝试这些方法
-
在使用移动硬盘的过程中,有时我们可能会遇到一些文件突然变得不可见或“隐藏”的情况。这种情况可能是由于多种原因造成的,如文件系统错误、病毒感染或误操作等。面对隐藏的文件,许多用户可能会感到困惑和不知所措...
- Win11怎么查看隐藏文件和文件夹?_如何查看windows隐藏文件夹
-
一般来说系统会对比较重要的文件和文件夹添加隐藏属性,很多朋友可能找半天都找不到,那么怎么找出这些隐藏文件和文件夹呢,今天系统之家小编来教大家Win11显示隐藏文件的设置方法,操作步骤其实挺简单的,希望...
- 隐藏电脑文件(夹)竟如此简单!再也不怕被偷窥了
-
导读:谁的电脑硬盘中还不存有一些珍藏多年的学习资料,可为了保护它们各位学习爱好者也真的是煞费苦心,不管是层层文件夹“套娃”隐藏也好,修改文件名甚至修改后缀名也好,效果都是非常差的,本期文章小君就聊一聊...
- 怎么打开隐藏文件夹?_文件夹怎么弄
-
有时在电脑上,我们会发现之前的文件或者文件夹不见了,很多人会觉得会不会是误删了文件之类的。其实还有一种可能,就是你的文件或者文件夹被隐藏起来了。怎么打开隐藏文件夹?一、文件或者文件夹被隐藏的原因隐藏是...
- 移动硬盘上的隐藏文件怎么能找出来
-
移动硬盘作为一种小巧而便携式的硬盘存储器,具备容量大、兼容性好、即插即用等优势,被广泛应用于办公和家庭生活中,那么在使用移动硬盘过程中,你是否遇到了文件被隐藏的问题呢?本文将介绍恢复移动硬盘隐藏文件的...
- 系统小技巧:“发送到”菜单问题巧解决
-
此前,我们已经通过本刊的一些文章熟悉了通过手动或软件的方法定制“发送到”菜单的基本方法。在使用“发送到”菜单的过程中,还可能会遇到一些问题。例如:“发送到”菜单越用越长,能不能在不编辑删减的情况下,调...
- WIN 10系统介绍(21) 重要文件的隐藏 私密文件的保护 显示隐藏文件
-
大家好,今天介绍电脑中重要文件和文件夹的隐藏以及显示。在每个人使用的电脑中,都有一些个人的私密的资料,比如一些账目,或者个人的照片,信件,技术文档,视频等等的一些资料。我们可能不希望所有登录的用户,都...
- 状态栏在哪?手机+电脑+软件里的它 一篇讲清位置和功能
-
状态栏就是设备或软件里显示状态信息的区域,能让你快速知道时间、电量等情况。下面告诉你不同设备和软件里状态栏在哪儿、有啥用。手机上的状态栏位置:屏幕最顶端的窄条,不管用什么APP,基本都在这儿。显示...
- excel隐藏的部分内容如何显示出来?3个方法帮助你!
-
excel隐藏的部分如何显示出来?你是否曾经在Excel中遇到过某些单元格被隐藏,或者某些数据在编辑时突然消失,让你感到困惑和无助?不要担心,今天我将向你揭示如何解决这些问题,让你轻松显示隐藏的部分。...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)