Table of contents
什么是 CDN?
CDN 的全称是 Content Delivery Network,即 内容分发网络。
它的核心作用是:让用户更快、更稳定地访问网站上的静态资源(如图片、CSS、JS、视频等)
假设你的网站服务器在加利福尼亚州,有一个用户在中国台北访问你的网站上的图片、JS 文件。这些资源需要跨区域传输,速度慢、容易卡。
如果你使用了 CDN,这些资源会提前缓存到全球/全国各地的 CDN 节点(例如台北、香港、东京都有节点)。当用户访问网站时,会就近从中国台北节点获取资源,而不是跑去加利福尼亚服务器拿,大大提升访问速度和稳定性。
CDN 工作原理
+-------+ +----------+ +-----------+ +-----------------+
| 用户 | -----> | DNS解析 | ----> | CDN DNS | ----> | 边缘节点选择 |
+-------+ +----------+ +-----------+ +-----------------+
|
v
+--------------+
| 缓存检查 |
+--------------+
/ \
命中 / \ 未命中
v v v
+----------------+ +--------------+
| 返回缓存内容 | | 回源获取 |
+----------------+ +--------------+
| |
v v
+---------+ +-------------+
| 用户 | <-------------| 源服务器 |
+---------+ +-------------+
|
v
+---------------+
| 缓存存储 |
+---------------+
|
v
+----------------+
| 返回缓存内容 |
+----------------+
- 用户请求:用户在浏览器中输入网址或点击链接
- DNS 解析:域名解析到 CDN 提供商的 DNS 服务器
- 节点选择:CDN 根据用户地理位置、网络状况等选择最优节点
- 缓存检查:边缘节点检查是否有缓存的内容
- 内容返回:如果有缓存则直接返回,否则回源获取并缓存
作用 | 说明 |
---|---|
加速访问 | 用户从最近的 CDN 节点获取资源,减少延迟、提升加载速度 |
减轻源站压力 | 静态资源不再反复从源站(主服务器)加载,源站压力大幅减轻 |
提高可用性 | 某节点故障时可自动切换其他节点,提高资源访问的稳定性与可用性 |
换了cdn加载字体后,流量也从每天3g变成100mb左右了,很棒:)