CDN 是什么

CDN 是什么?为什么网站会把内容放到很多地方

本篇内容导航
  1. CDN 的核心思路
  2. 哪些内容最适合 CDN
  3. CDN 也需要正确的缓存策略
  4. CDN 不是万能加速按钮
  5. 排查 CDN 问题时看什么

如果一个网站的用户遍布不同地区,只让所有人都去同一台服务器拿图片和脚本,距离和网络路径很快就会变成问题。CDN 就是为这类场景准备的。

CDN 的核心思路

把可缓存的内容分发到多个边缘节点,让用户尽量从更合适的位置获取资源。

CDN 不是单纯“给网速加速”,而是通过缓存、就近分发和网络优化减少部分访问成本。

哪些内容最适合 CDN

图片、CSS、JavaScript、字体和下载文件通常比较适合。动态请求是否适合,还要看业务和缓存策略。

场景CDN 通常能帮什么不能替代什么
图片、CSS、JS、字体缓存和就近分发,减少重复回源源文件本身过大或前端执行过重
跨地区访问让可缓存资源从更合适的边缘位置返回用户本地网络和源站处理时间
动态/个性化请求部分平台可做边缘处理或特定缓存业务逻辑、数据库和错误的缓存规则

CDN 也需要正确的缓存策略

内容放到边缘节点以后,多久更新、哪些请求能缓存、用户登录后的内容是否应该缓存,都需要明确规则。缓存时间设得太长可能让用户看到旧内容,设得太短又会失去很多收益。

动态 API、个性化页面和上传操作不能简单照搬静态图片的策略,所以是否使用 CDN 要看资源类型,而不是给整个网站贴一个“已加速”的标签。

CDN 不是万能加速按钮

源站本身处理很慢、数据库查询拖延、前端脚本太重,这些问题不会因为“接上 CDN”自动消失。甚至缓存规则配错时,还可能出现旧内容没更新、登录页被错误缓存等新问题。

排查 CDN 问题时看什么

  • 资源是否命中缓存,还是每次都回源;
  • 缓存键是否把需要区分的请求混在一起;
  • 源站到 CDN 的连接是否稳定;
  • 不同地区节点是否表现一致;
  • 缓存清除后是否真的拿到了新版本。