5月27日 21:46

什么是CDN?CDN的工作原理是什么?

CDN 是什么?

CDN(Content Delivery Network,内容分发网络)是一组分布在不同地理位置的服务器集群,核心目标是将内容缓存到离用户最近的边缘节点,减少网络延迟,加速资源访问。

CDN 的工作原理

用户请求资源时,完整流程如下:

  1. DNS 解析:用户访问域名,本地 DNS 向权威 DNS 查询,发现该域名配置了 CNAME 记录,指向 CDN 服务商域名
  2. GSLB 调度:请求到达 CDN 的 GSLB(全局负载均衡),根据用户 IP、节点负载、网络状况等综合判定,返回最优边缘节点 IP
  3. 边缘响应:用户向该边缘节点发起请求,节点检查缓存——命中则直接返回;未命中则回源获取,缓存后返回给用户

关键在于 CNAME + GSLB 这套调度机制,它让用户无感知地被路由到最近节点。

核心技术点

缓存策略

  • 缓存键:由 URL、Query String、请求头等生成,决定哪些请求命中同一份缓存
  • TTL:控制缓存过期时间,过期后需回源验证或重新获取
  • 缓存层级:边缘缓存 → 区域缓存 → 源站,逐级回源
  • 缓存预热:主动将内容推送到边缘节点,避免首次访问回源
  • 缓存刷新:源站更新后,主动清除 CDN 缓存,保证内容时效性

负载均衡

  • GSLB:全局调度,决定用户访问哪个节点
  • 健康检查:实时监控节点状态,自动剔除故障节点

CDN 与反向代理的区别

CDN反向代理
部署位置多地分布式边缘节点通常部署在源站前面
核心目的就近加速、降低延迟安全防护、请求转发
缓存范围面向全球用户面向单一入口

常见面试追问

  • CDN 缓存命中率低怎么办? 检查缓存键设计是否合理、TTL 是否过短、是否有大量动态参数干扰缓存
  • CDN 回源风暴怎么处理? 设置回源限流、使用缓存预热、配置请求合并(同回源请求合并为一次)
  • HTTPS 场景下 CDN 如何工作? CDN 节点与用户之间 HTTPS 加密,CDN 与源站之间也可 HTTPS,支持证书部署在 CDN 侧
  • 动态内容能否用 CDN? 可以,通过动态加速(DCDN)优化路由和传输协议,但不走缓存
标签:CDN