什么是CDN?
cac55 2025-01-12 11:45 11 浏览 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技术原理详解
相关推荐
- 为什么要对彗星“深度撞击”(比特彗星中文破解版)
-
在太阳系中,被人类探测器造访的彗星数量与行星数量差不多。其中绝大多数探测器都是从彗星附近飞过采集数据。但2005年“深度撞击”探测器则采取了主动出击的策略。它释放出的撞击体以10千米/秒的速度撞...
- 准妈妈备产清单:看看凯特王妃待产包里都有啥
-
来源:新华网英国威廉王子和凯特王妃即将迎来他们的第三个孩子。据悉,同生乔治王子和夏洛特公主时一样,此次凯特仍然选择在伦敦圣玛丽医院生产。那么,凯特的待产包里有些什么呢?匿名消息源向英国《OK!》杂志透...
- 系统小技巧:正确处理软件放行与禁用的矛盾
-
有时,我们讨厌一些程序运行,但它们偏偏会自动弹出,我们希望禁止其运行。而还有的时候,因为某种原因使用了比较复杂的“软件限制策略”,造成某些软件无法运行,这时我们希望将其解禁。虽然我们可以用修改注册表的...
- 老网民的青春:盘点那些消失在互联网中的软件,你用过哪款?
-
一则ICQ即将关闭的消息,唤醒了很多70后80后尘封的记忆。ICQ可以说是即时通讯软件的鼻祖,它诞生于1996年,由以色列公司Mirabilis推出,ICQ是Iseekyou的简写,中文释义为“我...
- Windows Vista 动态桌面的设置(windows10动态桌面)
-
一、VMwareWorkstation15(16的版本能安装但是不能实现动态桌面)安装WindowsVistaEnterprise,15下安装及设置完成后,在16下可以正常显示,虚拟机下安装...
- Hexoskin智能T恤 穿在身上的运动追踪器
-
来源:MSN理财综合|2016-01-0615:14:42[摘要]Hexoskin使用方便,续航时间超长。它能准确追踪运动数据,可以满足专业运动员以及热爱健身的人,官网售价399美元。其实不用多说什...
- 你了解这些互联网的名词吗?(互联网的别称有哪些)
-
要想成为互联网的菜鸟,可以先了解一下互联网的一些基础名词。现在就一起来来看看吧,记住了,可以应急用哦!PV:即页面浏览量,或点击量(用户每次刷新即被计算一次)UV:独立访客(UniqueVisi...
- 不要成为无用的大人——写给三十岁前的你
-
我不习惯写励志故事,看到鸡汤绕道而行,原因是任何人选择入世生活,就并不值得安慰,以及不要期待享受特权,也没有你必须不得承受的麻烦。金牛座的世界里遭遇一切苦都是应该的,一切得到则需要努力得到,而且要认真...
- 尼康宣布正研发专业级FX格式数码单反相机D5
-
尼康宣布正在研发专业级FX格式数码单反相机D5。作为D4s的后续机型,D5机型的命名源于此款产品代表了尼康数码单反相机的第5代专业级机型。D4s于2014年2月发布,作为专业级数码单反相机,一经推出,...
- 配置管理流程(配置管理流程属于)
-
资料来源:https://www.cnblogs.com/wayne-ivan/articles/525818.html1 概要1.1 内容规范配置管理活动,确保配置项正确地唯一标识并易于存取,保证基...
- 小密圈-重新定义你的朋友圈(小密圈开放了)
-
微信在我们的生活中已经被使用的非常广泛了,除了聊天、视频之外,用的最多的就是朋友圈。在朋友圈里分享自己每天的所感所悟,家长里短本来是一件很开心的事,但是最近的一条新闻引起了人们的关注。某白领因为不愿意...
- 十招教你找到海量PPT模板(怎么找ppt模板资源)
-
配图设计:@乌素淖尔我每天都能遇到这种求助问题,不堪重负。问:急求XXXPPT模版?无耻的来求PPT模版,我是在一家互联网公司工作的小员工,领导安排说年初要用PPT做一份工作计划报告,主要是想说一下今...
- 安卓系统手机文件夹及其文件详细解析
-
打开Android文件管理器,会发现里面数十个英文名称命名的文件夹罗列其中,很多功能我们可以从其名字上略有所知,内部大批量的文件却让我们有些一头雾水。这些文件是什么呢?有什么用?我们能不能删?这些都是...
- 我为什么不喜欢微信(有没有人不喜欢聊微信)
-
这个问题是我在知乎的一个回答,原始问题是“什么样的用户不喜欢微信”?出于数据备份的原因,将其复制保留一份到这里,以防丢失。以下是原回答内容:我是做技术出身的,我非常不喜欢微信,同样也不喜欢QQ,但是为...
- 花了一周时间,整理出推荐频率最高的14款办公必备软件
-
澄清!猫猫最近没有偷懒!猫猫去干大事儿了!随着猫猫推荐的软件越来越多,大家是不是也苦恼每次想找一类软件,还得去一篇一篇翻历史文章,其实我也很苦恼这个问题。于是!猫猫上周搭建了一个“猫猫软件中心”,这里...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 如何绘制折线图 (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)