什么是CDN?它解决了什么难题?5分钟让你明明白白!

举报
wljslmz 发表于 2022/07/28 01:03:35 2022/07/28
【摘要】 CDN这个词在我们技术圈中经常听到,什么CDN节点呀、CDN加速呀,当同事跟你谈到这些话题的时候,是不是大家都只顾着点头呢? CDN其实作用很大,我们每天都在享受CDN带来的福利,只是你感受不到。...

CDN这个词在我们技术圈中经常听到,什么CDN节点呀、CDN加速呀,当同事跟你谈到这些话题的时候,是不是大家都只顾着点头呢?

CDN其实作用很大,我们每天都在享受CDN带来的福利,只是你感受不到。比如说在线教育诞生之初,线上直播效果其实是非常差的,画质不清晰也就算了,有时候直接会卡到视频和声音不同步,这些难题直接影响到在线教育的日常运作。CDN凭借低时延的产品特性,让数据得以即时传输,为师生带来响应快速、使用流畅的视频观看体验。

电子商务领域,每一次大促的背后都意味着电商交易流量的高峰,要让电商走得更远、更顺畅,少不了CDN技术的加持。CDN利用充足带宽资源,做好CDN冗余储备,在用户访问突增时灵活、快速为客户调配资源,避免用户的“访问洪峰”影响购物体验,同时缓解源站压力,充分保障平台访问响应速度以及成功率。

在我们平时日常生活中,大家是不是特别喜欢刷短视频,比如抖音、快手等,CDN采用网页静态资源优化加速分发,缩短网页响应时间,让我们刷起视频来更加流畅。

还有好多的场景都能看到CDN在背后做的重大贡献,那么CDN到底是个啥,它到底解决了什么样的难题?原理是啥?今天带你学习一波!

首先要明白什么是CDN?

CDN英文全称Content Delivery Network,中文翻译即为内容分发网络。它是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。

CDN应用广泛,支持多种行业、多种场景内容加速,例如:图片小文件、大文件下载、视音频点播、直播流媒体、全站加速、安全加速。

借用阿里云官网的例子,来简单介绍CDN的工作原理。假设通过CDN加速的域名为www.a.com,接入CDN网络,开始使用加速服务后,当终端用户(北京)发起HTTP请求时,处理流程如下:

  1. 当终端用户(北京)向 www.a.com下的指定资源发起请求时,首先向LDNS(本地DNS)发起域名解析请求。
  2. LDNS检查缓存中是否有 www.a.com的IP地址记录。如果有,则直接返回给终端用户;如果没有,则向授权DNS查询。
  3. 当授权DNS解析 www.a.com时,返回域名CNAME www.a.tbcdn.com对应IP地址。
  4. 域名解析请求发送至阿里云DNS调度系统,并为请求分配最佳节点IP地址。
  5. LDNS获取DNS返回的解析IP地址。
  6. 用户获取解析IP地址。
  7. 用户向获取的IP地址发起对该资源的访问请求。
  • 如果该IP地址对应的节点已缓存该资源,则会将数据直接返回给用户,例如,图中步骤7和8,请求结束。
  • 如果该IP地址对应的节点未缓存该资源,则节点向源站发起对该资源的请求。获取资源后,结合用户自定义配置的缓存策略,将资源缓存至节点,例如,图中的北京节点,并返回给用户,请求结束。

从这个例子可以了解到:

  1. CDN的加速资源是跟域名绑定的。
  2. 通过域名访问资源,首先是通过DNS分查找离用户最近的CDN节点(边缘服务器)的IP
  3. 通过IP访问实际资源时,如果CDN上并没有缓存资源,则会到源站请求资源,并缓存到CDN节点上,这样,用户下一次访问时,该CDN节点就会有对应资源的缓存了。

简单讲,CDN就是通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容。

CDN主要解决这么些问题:

  • 物理距离远,多次网络转发,延时高不稳定;
  • 所在运营商不同,需运营商之间转发绕行;
  • 网络带宽处理能力有限,海量请求时,响应速度与可用性降低。

CDN工作原理

CDN的工作原理就是将源站的资源缓存到位于全国各地的CDN节点上,用户请求资源时,就近返回节点上缓存的资源,而不需要每个用户的请求都回您的源站获取,避免网络拥塞、分担源站压力,保证用户访问资源的速度和体验。

为什么要用 CDN?

如果你在经营一家网站,那你应该知道几点因素是你制胜的关键:

  • 内容有吸引力
  • 访问速度快
  • 支持频繁的用户互动
  • 可以在各处浏览无障碍

另外,你的网站必须能在复杂的网络环境下运行,考虑到全球的用户访问体验。你的网站也会随着使用越来越多的对象(如图片、帧、CSS及APIs)和形形色色的动作(分享、跟踪)而系统逐渐庞大。所以,系统变慢带来用户的流失。

Google及其它网站的研究表明,一个网站每慢一秒钟,就会丢失许多访客,甚至这些访客永远不会再次光顾这些网站。可以想像,如果网站是你的盈利渠道或是品牌窗口,那么网站速度慢将是一个致命的打击。

这就是你使用CDN的第一个也是最重要的原因:为了加速网站的访问

除此之外,CDN还有一些作用:

1. 为了实现跨运营商、跨地域的全网覆盖

互联不互通、区域ISP地域局限、出口带宽受限制等种种因素都造成了网站的区域性无法访问。CDN加速可以覆盖全球的线路,通过和运营商合作,部署IDC资源,在全国骨干节点商,合理部署CDN边缘分发存储节点,充分利用带宽资源,平衡源站流量。

2. 为了保障你的网站安全

CDN的负载均衡和分布式存储技术,可以加强网站的可靠性,相当无无形中给你的网站添加了一把保护伞,应对绝大部分的互联网攻击事件。防攻击系统也能避免网站遭到恶意攻击。

3. 为了异地备援

当某个服务器发生意外故障时,系统将会调用其他临近的健康服务器节点进行服务,进而提供接近100%的可靠性,这就让你的网站可以做到永不宕机。

4. 为了节约成本投入

使用CDN加速可以实现网站的全国铺设,你根据不用考虑购买服务器与后续的托管运维,服务器之间镜像同步,也不用为了管理维护技术人员而烦恼,节省了人力、精力和财力。

5. 为了让你更专注业务本身

CDN加速厂商一般都会提供一站式服务,业务不仅限于CDN,还有配套的云存储、大数据服务、视频云服务等,而且一般会提供7x24运维监控支持,保证网络随时畅通,你可以放心使用。并且将更多的精力投入到发展自身的核心业务之上。

CDN与传统网站访问的区别

CDN主要功能是在不同的地点缓存内容,通过负载均衡技术,将用户的请求定向到最合适的缓存服务器上去获取内容,比如说,是北京的用户,我们让他访问北京的节点,深圳的用户,我们让他访问深圳的节点。通过就近访问,加速用户对网站的访问。解决Internet网络拥堵状况,提高用户访问网络的响应速度。

传统访问访问:
使用了CDN的网站访问:

与传统访问方式不同,CDN网络则是在用户和服务器之间增加缓存层,将用户的访问请求引导到最优的缓存节点而不是服务器源站点,从而加速访问速度。

完整的CDN工作流程:

通过权威DNS服务器来实现最优节点的选择,通过缓存来减少源站的压力

CDN的应用场景

1、网站站点/应用加速

站点或者应用中大量静态资源的加速分发,建议将站点内容进行动静分离,动态文件可以结合云服务器ECS,静态资源如各类型图片、html、css、js文件等,建议结合 对象存储OSS 存储海量静态资源,可以有效加速内容加载速度,轻松搞定网站图片、短视频等内容分发。

2、视音频点播/大文件下载分发加速

支持各类文件的下载、分发,支持在线点播加速业务,如mp4、flv视频文件或者平均单个文件大小在20M以上,主要的业务场景是视音频点播、大文件下载(如安装包下载)等,建议搭配对象存储OSS使用,可提升回源速度,节约近2/3回源带宽成本。

3、视频直播加速

视频流媒体直播服务,支持媒资存储、切片转码、访问鉴权、内容分发加速一体化解决方案。结合弹性伸缩服务,及时调整服务器带宽,应对突发访问流量;结合媒体转码服务,享受高速稳定的并行转码,且任务规模无缝扩展。

4、移动应用加速

移动APP更新文件(apk文件)分发,移动APP内图片、页面、短视频、UGC等内容的优化加速分发。提供httpDNS服务,避免DNS劫持并获得实时精确的DNS解析结果,有效缩短用户访问时间,提升用户体验。

CDN相关的术语解释

1、Origin Server源站

做 CDN 之前的客户真正的服务器。

2、User

访问者,也就是要访问网站的网民。

3、Last Mile

最后一公里,也就是网民到他所访问到的 CDN 服务器之间的路径。

4、域名

域名是Internet网络上的一个服务器或一个网络系统的名字,全世界,没有重复的域名。

5、CNAME记录

它是一个别名记录( Canonical Name );当 DNS 系统在查询 CNAME 左面的名称的时候,都会转向 CNAME 右面的名称再进行查询,一直追踪到最后的 PTR 或 A 名称,成功查询后才会做出回应,否则失败。

6、CNAME域名

CDN的域名加速需要用到CNAME记录,在服务器控制台配置完成CDN加速后,您会得到一个加速后的域名,称之为CNAME域名(该域名一定是*.*http://wljslmz.com), 用户需要将自己的域名作CNAME指向这个*.*http://wljslmz.com的域名后,域名解析的工作就正式转向云服务器,该域名所有的请求都将转向云CDN的节点。

7、DNS

DNS即Domain Name System,是域名解析服务的意思。它在互联网的作用是:把域名转换成为网络可以识别的ip地址。人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。比如:上网时输入的百度一下,你就知道会自动转换成为220.181.112.143

8、边缘节点

也称CDN节点、Cache节点等;是相对于网络的复杂结构而提出的一个概念,指距离最终用户接入具有较少的中间环节的网络节点,对最终接入用户有较好的响应能力和连接速度。其作用是将访问量较大的网页内容和对象保存在服务器前端的专用cache设备上,以此来提高网站访问的速度和质量。

9、cache

cache高速缓冲存储器一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问。存储器的高速缓冲存储器存储了频繁访问的RAM位置的内容及这些数据项的存储地址。当处理器引用存储器中的某地址时,高速缓冲存储器便检查是否存有该地址。如果存有该地址,则将数据返回处理器;如果没有保存该地址,则进行常规的存储器访问。因为高速缓冲存储器总是比主RAM存储器速度快,所以当RAM的访问速度低于微处理器的速度时,常使用高速缓冲存储器。

文章来源: blog.csdn.net,作者:wljslmz,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_43025343/article/details/113148779

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。