一. 前言
后端程序员碰到这个概念的场景其实不多,我首次碰到还是在搭建自己博客网站的时候。
用最直观的场景来描述就是 : 买的服务器带宽太低,导致前端下载静态文件卡顿。
解决的方式是 : 将域名配置 CDN , 让静态文件获取不走后端服务器。
在高并发的系统中, CDN 可以帮助用户对静态文件分流,减少服务器负载.
二. 先看流程
2.1 原本的问题
- 请求直接打到业务源服务器上面,占用资源(带宽,CPU,端口,内存等等)
- 请求很难就近选择服务端,数据传输过程长,稳定性差,延时高
- 恶意请求会直接打到服务器上,增加风险
- 稳定性差,业务稳定性依赖于源服务器的可用性
2.2 CDN 的处理流程
- 当用户向源域名 (image.a.com) 发起请求的时候,会发起 DNS 查询
- DNS 基于源域名通过 CNAME 获取到 CDN 域名 (dns.a.com)
- 请求在 CDN 服务节点中