什么是CDN?它的实现原理是什么?

1. 什么是CDN

2. 实现原理

答:

1. CDN (全称 Content Delivery Network),即内容分发网络

构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN 的关键技术主要有内容存储和分发技术

简单来讲,CDN就是根据用户位置分配最近的资源

于是,用户在上网的时候不用直接访问源站,而是访问离他“最近的”一个 CDN 节点,术语叫边缘节点,其实就是缓存了源站内容的代理服务器。如下图:

CDN 目的是为了改善互联网的服务质量,通俗一点说其实就是提高访问速度

CDN 构建了全国、全球级别的专网,让用户就近访问专网里的边缘节点,降低了传输延迟,实现了网站加速

通过CDN的负载均衡系统,智能调度边缘节点提供服务,相当于CDN服务的大脑,而缓存系统相当于CDN的心脏,缓存命中直接返回给用户,否则回源

2. 原理

在没有应用CDN时,我们使用域名访问某一个站点时的路径为

应用CDN后,DNS 返回的不再是 IP 地址,而是一个CNAME(Canonical Name ) 别名记录,指向CDN的全局负载均衡

CNAME实际上在域名解析的过程中承担了中间人(或者说代理)的角色,这是CDN实现的关键

负载均衡系统

得到最合适的边缘节点,然后把这个节点返回给用户,用户就能够就近访问CDN的缓存代理

缓存代理

缓存系统是 CDN的另一个关键组成部分,缓存系统会有选择地缓存那些最常用的那些资源

其中有两个衡量CDN服务质量的指标:

缓存系统也可以划分出层次,分成一级缓存节点和二级缓存节点。一级缓存配置高一些,直连源站,二级缓存配置低一些,直连用户

回源的时候二级缓存只找一级缓存,一级缓存没有才回源站,可以有效地减少真正的回源

现在的商业 CDN命中率都在 90% 以上,相当于把源站的服务能力放大了 10 倍以上

补充

补充:CDN 是构建在现有网络之上的「内容分发 + 智能调度」体系,本质是用「就近访问 + 缓存复用」来提升响应速度、降低源站压力。

补充要点:

  • 核心组成:
    • 源站(Origin):原始资源所在的服务。
    • 边缘节点(Edge):分布在各地的缓存代理,离用户最近。
    • 调度系统:根据地理位置、网络状况、节点负载,返回最合适的边缘节点 IP(基于 DNS 解析或 HTTP 302)。
    • 缓存系统:按规则缓存静态资源,可设置 TTL、自定义刷新、预热。
  • 回源策略:缓存命中直接返回;未命中则回源拉取,并按规则写入缓存(一级缓存 → 二级缓存 → 源站)。
  • 适用场景:静态资源(JS/CSS/图片/视频)、动态内容(边缘计算)、安全防护(WAF / DDoS 清洗)、HTTP/3 / 0-RTT 等新协议加持。
  • 性能指标:命中率、回源率、平均延迟、可用性、P95 / P99 延迟。

补充:开启 CDN 时需要把域名的 CNAME 指向 CDN 服务商,并通过 HTTPS 证书自动签发或上传自有证书保证安全。