CDN学习

88 阅读2分钟

一、CDN概念

CDN即内容分发网络本质是增加缓存层,将网站的内容发布到离用户最近的网络边缘节点,提高访问速度,解决了网络带宽小、访问量大、网点分布不均等问题。

1.解决了跨运营商、跨地域访问的问题,时延降低
2.起到了分流作用,减轻了源站负载

CDN服务商提供的专用DNS调度服务器,会根据位置、负载情况等因素选出最优的CDN资源节点IP地址返回给用户。
域名加速:CDN服务商配置完成后,会自动关联生成加速域名的别名CNAME
CNAME:映射关系,一个域名可以有多个别名
Address记录:域名到ip地址的映射关系,一对一
负载均衡-服务器负载均衡,能够在性能不同的服务器之间进行任务分配;
负载均衡-服务器整体负载均衡,允许根据地理位置分配内容和服务,提高容错性和可用性

二、过程

1.经过本地DNS解析,得到域名做了CDN加速的CNAME别名,通过CNAME将请求转到CDN的专用DNS服务器。
2.CDN专用DNS调度服务器,将CDN全局负载均衡设备ip返回,用户向ip发起请求
3.CDN全局负载均衡服务器根据用户请求的ip地址,选择用户所属区域的设备
4.CDN区域负载均衡服务区,为用户选择一台合适的缓存服务器提供服务,返回缓存服务器ip地址
5.用户向缓存服务器发起请求,如果缓存服务器没有用户想要的内容会向它的上一级缓存服务器请求,直到溯源到网站的源服务器。

image.png

三、调度策略

1.DNS调度
缓存时间过期之前不会刷新,导致节点异常的时候自动调度时延大
2.HTTPDNS调度
是针对DNS防劫持的有效手段,有效避开DNS层面的拦截和故障。直接通过HTTPDNS服务器获取结果,避免DNS解析失败问题

四、应用

比如webpack中的external,会排除指定包,之后走CDN请求资源。