CDN怎么理解?

最近刚知道cdn的定义以及作用,但是还是不知道他到底有什么特别作用,网上都说他可以解决了跨运营商和跨地域访问的问题,访问延时大大降低;大部分请求在CDN边缘节点完成,CDN起到了分流作用,减轻了源站的负载
但是网站本身不是也会在本地保存网站中的图片或者其他文件的副本,这样用户再次访问该网站的时候,浏览器就不用再下载全部的文件,减少了下载量意味着提高了页面加载的速度。
cdn的限制:其缺点也很明显:当网站更新时,如果CDN节点上数据没有及时更新,即便用户再浏览器使用Ctrl +F5的方式使浏览器端的缓存失效,也会因为CDN边缘节点没有同步最新数据而导致用户访问异常。这个时候需要我们在服务器端对CDN做强制更新
那为什么还需要cdn呢???

阅读 3.7k
4 个回答

并不是所有访问都会缓存,而且,大量访问其实都是首次访问,多次重复访问同一资源的其实不多。

而且,本地浏览器缓存也只能命中网站上用来构建UI的资源,对于更新较快的内容命中率还是很低的。(比如微博图片,基本你几秒钟后刷新就是另一堆图片了)。

CDN其实是利用了DNS,给不同来源的用户解析到不同的IP地址(CDN服务器),通常访问都会比较快,而内容则缓存在服务器中。

当然,也可以不缓存,CDN只是作为中间人(这叫反向代理),因为用户访问CDN会比访问原始服务器要快。(比如动态内容就是不缓存的)

还有CDN还可以分解访问压力(大网站内部都有负载均衡的,其实和反向代理也差不多一个意思,只不过是把同一个入口来的请求分配到不同服务器上处理),甚至还能抵御DDoS攻击。

所以CDN好处还是不少的,有的大网站不用CDN服务,而是自己在多个机房放置服务器,本质上也是一样的道理。

CDN可以分解服务器静态资源读取的压力,加快用户的访问速度。因为CDN利用DNS解析到不同的离用户就近的存储服务器。用户访问速度会加快;而且因为各个节点服务器也存储了我们的资源文件,所以这样访问cdn的服务器就大大降低了我们自己服务器的压力;还有就是基本上大部分网站的静态资源是蛮多的,动态的部分相比较少,这样使用CDN还是很划算的,毕竟加载速度快,用户体验好

CDN Content Delivery Network 内容分发网络,利用DNS某些算法,让你能够就近访问对应的节点服务器资源,可以加快访问速度,降低主服务集群的负载压力,在高并发场景中经常会使用到。比如有一个业务的主要服务器在深圳,而你人在廊坊,廊坊本市有对应的节点服务器,CDN会将廊坊的机器IP传给你的客户端,那么你就不用解析到深圳的服务器了。

全称:Content Delivery Network或Content Ddistribute Network,即内容分发网络
图片描述
基本思路:

尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。

目的:

解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度和成功率。

控制时延无疑是现代信息科技的重要指标,CDN的意图就是尽可能的减少资源在转发、传输、链路抖动等情况下顺利保障信息的连贯性。

优势:

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

内容有吸引力
访问速度快
支持频繁的用户互动
可以在各处浏览无障碍
图片描述
另外:你的网站必须能在复杂的网络环境下运行,考虑到全球的用户访问体验。你的网站也会随着使用越来越多的对象(如图片、帧、CSS及APIs)和形形色色的动作(分享、跟踪)而系统逐渐庞大。所以,系统变慢带来用户的流失。

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

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

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

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

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

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

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

  1. 为了异地备援

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

  1. 为了节约成本投入

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

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

CDN加速厂商一般都会提供一站式服务,业务不仅限于CDN,还有配套的云存储、大数据服务、视频云服务等,而且一般会提供7x24运维监控支持,保证网络随时畅通,你可以放心使用。并且将更多的精力投入到发展自身的核心业务之上。
通俗点说就是在网速一定的前提下,CDN就像网络中快递员小哥
图片描述
图片描述
而且CDN这个快递员很是聪明 TA不是在用蛮力瞎跑、乱撞
TA还承建了很多家快递点,就近快递(缓存)
TA善于优化快递路径(调度) 还会对包裹进行更合理的重新打包(协议优化)
无论用户在世界任何角落,只要连接网络,CDN服务就如同把源站搬到用户面前一样,整个世界,触手可及!

CDN就是扮演者护航者和加速者的角色,更快准狠的触发信息和触达每一个用户,带来更为极致的使用体验。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进