CDN的理解

一、CDN概况
CDN的全称是Content Delivery Network,即内容分发网络。
CDN加速主要是加速静态资源,如网站上面上传的图片、媒体,以及引入的一些Js、css等文件。
CDN加速需要依靠各个网络节点,例如100台CDN服务器分布在全国范围,从上海访问,会从最近的节点返回资源,这是核心。
CDN服务器通过缓存或者主动抓取主服务器的内容来实现资源储备。

  1. HTML的文件引用
    HTML的文件头(也有文件中,文件尾)那边常有其他文件引用,比如CSS以及JS的引用。
  2. 系统的资源引用
    在一个网站项目中,页面里经常会有许多js以及css的引用,接触过开发项目的一般都会了解,大部分界面里的脚本引用并不是那么精简,如果是直接引用项目内文件的话,造成引用的增加,这样将资源文件与业务代码一锅炖的方式适用于小型的,应用服务器压力并不是太大的系统(并发、带宽、存储空间、资源等等)。这种方式的优点是开发省力,发布省力,对服务器要求小,省钱,没有具体公网接入需求。许多小型,内部使用型的网站系统往往采取这种形式放置资源文件。
  3. 系统访问量变高了,速度变慢了怎么办
    优化系统部署:优化方式有很多,读写分离,负载均衡等。即是将资源服务器与应用服务器的分离。粗暴的理解方式就是,应用安在应用服务器(一台或者是集群),资源部署在资源服务器(单台或者是高可用集群)。
  4. 网络方面的优化
    网站的访问速度,只基于一点,那就是页面包含的内容传输到用户电脑的速度,服务器搭的再好再完美,如果用户到服务器的链路之间有一段比较缓慢的话,整体速度也会被拉的十分低。
    小规模部署一套内容缓存,内容进行同步,较大规模搭建一些分发服务器,接入访问地址,然后跳转到就近的内容缓存服务器进行内容读取,
    这样已经完成了一套简易CDN的部署。

二、CDN的基本原理和基础架构
CDN是将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。
最简单的CDN网络由一个DNS服务器和几台缓存服务器组成:

  1. 当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。
  2. CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户。
  3. 用户向CDN的全局负载均衡设备发起内容URL访问请求。
  4. CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。
  5. 区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务,选择的依据包括:根据用户IP地址,判断哪一台服务器距用户最近;根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址。
  6. 全局负载均衡设备把服务器的IP地址返回给用户。
  7. 用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。
    在这里插入图片描述

三、为什么要使用CDN?或者说CDN能解决什么问题?
现在是互联网的时代,每天有成千上万的人访问一个网站,一个网站的制胜点主要有以下四点

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

解决以上问题,从而使用CDN,使用CDN的优点

  1. 加速网站的访问:解决Internet网络拥堵状况,提高用户访问网络的响应速度。
  2. 实现跨运营商、跨地域的全网覆盖:CDN服务器覆盖主流国家和地区,可以确保CDN服务的稳定和快速。
  3. 保障你的网站安全:负载均衡和分布式存储技术,可以加强网站的可靠性,相当无无形中给你的网站添加了一把保护伞
  4. 异地备援:基本上可以实现永不宕机。
  5. 节约成本投入
  6. CDN及其配套的云存储、大数据服务、视频云服务等,提供可靠的运维监控支持,保证网络随时畅通,你可以放心使用更,从而将精力投入到自己业务上来。

四、CDN与传统网站访问的区别
传统访问访问:
在这里插入图片描述

使用了CDN的网站访问:
在这里插入图片描述

完整的CDN工作流程:
在这里插入图片描述

总结CDN的工作原理:即通过权威DNS服务器来实现最优节点的选择,通过缓存来减少源站的压力,进行资源的分布式存放和备份。

五、CDN适用哪些场景?

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

  2. 大文件下载
    软件下载、视频点播或图片存储网站

  3. 动态加速
    直播网站

  4. 应用加速
    手机APP

猜你喜欢

转载自blog.csdn.net/oikinkl/article/details/83549065
cdn
今日推荐