内容分发网络CDN

前提:最近在学习网络知识,要提升客户端访问服务器的速度,如果能就近访问最近的服务器,这时候就要用到CDN

一、CDN的定义

CDN的英文是Content Delivery Network,翻译过来就是:内容分发网络。其实是对象存储进行的缓存层。

作用是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络”边缘“的节点,使用户可以就近取得所需的内容(就近原则),提高用户访问网站的响应速度。

二、CDN的分发流程

CDN全局负载均衡服务器根据用户请求的IP地址,url等信息,通过查客户端的ip归属地,选择一台用户所属区域的负载均衡设备,告诉用户向这台设备发起请求。

1. 用户发送请求,DNS解析发现配置了CName,得到对应的地址;

2. 再发送请求到对应的地址,通过dns查询得到最近的ip地址并返回给客户端;

3. 用户获取ip并进行请求,如果该ip的节点缓存有数据,则直接返回,没有就要进行回源

流程图片如下

 

三、优势

1. 可以就近分配cdn节点获取数据,并且获取同一个数据的时候有缓存加速的作用。节省了在服务器中对静态资源文件的获取

2. 可以防止ddos攻击。CDN防止ddos攻击主要是通过流量分散,增加攻击难度,但是如果是有针对性的攻击,还是最终会被逐个击破,所以CDN只是延缓被攻击的时间。

四、回源

距离用户最近的称之为边缘节点,CDN的中心服务器集群被称为二级缓存,再上面就是应用部署的源站。一般边缘节点没数据就去找二级缓存,二级缓存没数据就去找源站