CDN基本原理简单解释和阿里云上配置说明

CDN概念

CDN即内容分发网络(Content Delivery Network)的简称,是建立在承载网基础上的虚拟分布式网络,能够将源站内容(包括各类动静态资源)智能缓存到全球各节点服务器上。这样不仅方便了用户就近获取内容,提高了资源的访问速度,也分担了源站压力。

从简单的角度说cdn就是你在全世界各地买了几千台服务器,其他人可以租用你的服务器用来放web文件,客户访问你的网站时,会从离客户最近的服务器访问。这样可以实现网络距离最小,网络最稳定。同时,cdn一般不是企业自己搭建的,需要从专门的大厂购买cdn服务。

CDN基本原理简单解释和阿里云上配置说明

CDN工作原理解释:

假设我们需要访问www.example.com网站上的 index.html文件,借此理解涉及到的相关名词和工作原理。

没有CDN直接访问网站时过程如下

  1. 浏览器输入www.example.com
  2. DNS解析到域名对应ip地址2.2.2.2,通过ip地址访问到index.html
  3. 浏览器下载到index.html后解析页面,展示给你
    问题:如果2.2.2.2服务在北京,你在上海距离比较远的时候,速度肯定比北京直接访问慢。

在具有CDN的情况下访问过程

  1. 浏览器输入www.example.com
  2. 和上面不同,不会直接解析到源站的ip,而是解析到cdn配置的cname,cname指向CDN控制中心,控制中心会查找最优最近的节点,如果节点上有index.html,就直接返回给浏览器
    3,如果节点没有index.html,就会从源站2.2.2.2获取index.html返回给浏览器
  3. 如果cnd配置了缓存策略,3的过程中会把index.html放到这个边缘节点,下次访问index就不需要回源,直接访问边缘节点就可以。
    注1:过程3就是回到源站点获取文件,这个过程就是回源,产生的流量是回源流量。
    注2:过程1+2就是访问cnd资源过程,这个郭晨产生的流量就是访问流量

简单理解:把你网站的域名指向cdn服务器,并告诉cdn服务商网站资源文件的地址(源站),客户访问网站时,cdn会把离客户最近的节点资源返回给浏览器。

阿里云CDN的使用

上面知识只是cnd的基本原理,如果想在阿里云上配置cdn需要对阿里云的控制台和相关名词有一定了解

名词解释:

加速域名:就是被加速网站的域名,也指提供给客户的域名。如果你要加速公司的官网,加速域名指的就是官网域名。

源站域名(回源域名),源站ip
域名会被解析成为ip,所以这两个是一个意思,代表被访问文件实际存放的服务器地址。

源站域名不能和加速域名一致,否则会出现dns循环解析,无法返回资源。很简单,我们已经知道配置好加速域名后,需要把加速域名解析到cdn上,cdn本来是没有网站上的html,css等文件的,需要通过源站域名或者ip找到这些资源,并且分发给全国的节点。源站域名是资源存放地点,加速域名是用户访问的入口。cnd是用来把源站的资源分发到全网,两者一致时,cdn就找不到资源,也无法分发。

加速网站

只需要配置好域名为网站域名,源站为实际资源存放就好

加速oss

加速oss比上面多了一个过程,用于域名先通过cname配置到cdn域名,cdn会查找oss,如果oss有资源就获取。
本质上oss成为源站,如果访问cdn域名时获取不到就从oss获取。oss和阿里云之间是内网所以回源流量不要钱
CDN基本原理简单解释和阿里云上配置说明

总结

回源就是当直接无法访问到cdn缓存的资源时,从源站获取资源的过程,发生的流量就是回源流量。我之前被回源压制了很久。

大家有问题可以留言,只要配置过一次,下次无论什么花样都能应付