1. 什么是cdn

内容分发网络,距离越远 需要节点越多,丢包概率大

image-20260308200906687

因此有人在各地搭建服务器,提供服务

很多边缘服务器(接近用户)提供服务,给近距离用户分发网页内容。

image-20260308202737010

如果没有push到CDN

image-20260308202716483

动态服务的话,比较简单的 可以直接在CDN里面配置一些接口(比如时间的获取),不要从源服务器上获取。一般动态不用(API接口、数据库交互请求)

CDN可以把源站藏起来,攻击者找不到真实服务器,同时CDN节点多,带宽大,把攻击流量消耗

CDN 自带清洗、WAF、限流,识别恶意请求

任播,就是服务器都一个ip,离得最近的返回

CDN也会压缩代码(删掉不必要的字符)

工作原理:

当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器

CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户

用户向CDN的全局负载均衡设备发起内容URL访问请求

CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。

区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务(返回一个缓存服务器IP)。选择的依据包括:根据用户IP地址,判断哪一台服务器距用户最近;根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。

用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。

如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。