🌐 CDN 访问原理架构图

内容分发网络 (Content Delivery Network) 工作流程

👤
用户浏览器
发起资源请求
🌍
Local DNS
本地域名解析
🎯
GSLB
全局负载均衡
智能调度
📡
CDN 边缘节点
就近访问
内容缓存
🏠
源站服务器
原始内容存储

📋 用户请求完整流程

1
👤 用户发起请求
用户在浏览器输入 URL:
http://example.com/static/logo.png
2
🔍 Local DNS 解析
浏览器查询本地 DNS 服务器
若无缓存 → 递归查询上级 DNS
获取域名对应的 IP 地址
3
🎯 GSLB 智能调度
CDN 全局负载均衡器 介入
根据用户 IP 地理位置
自动选择最优的 边缘节点
返回最近节点的 IP
4
📡 访问 CDN 边缘节点
命中缓存 (HIT):直接返回内容
未命中 (MISS):回源获取内容
缓存更新:内容返回并写入缓存
5
🏠 源站回源 (回源)
CDN 节点向源站发起请求
http://origin.example.com/static/logo.png 获取原始内容并缓存
6
✅ 内容返回用户
沿路径逐层返回内容
用户浏览器渲染页面
后续请求直接走缓存节点

⚡ CDN 核心原理

📍

就近访问 (Anycast)

DNS 智能解析将用户请求路由到地理位置最近的 CDN 节点,减少网络延迟,提升访问速度

💾

内容缓存 (Cache)

CDN 节点缓存源站静态资源(图片/CSS/JS/视频),用户重复访问时直接命中缓存,减轻源站压力

⚖️

负载均衡 (GSLB)

全局负载均衡器综合考虑节点负载、用户位置、网络质量,智能分配最优访问节点

🔄

回源优化 (Origin Shield)

多级缓存架构,边缘节点 → 区域中心 → 源站,避免大量回源请求压垮源站服务器

🔎 缓存命中状态对比

状态 说明 响应速度 回源
HIT 命中 缓存命中,直接返回 ⚡ 极快 (~1ms) ❌ 否
MISS 未命中 缓存未命中,需回源获取 🐢 较慢 ✅ 是
PARTIAL_HIT 部分命中 分片下载,部分缓存 ⚡ 较快 部分
EXPIRED 过期 缓存过期,验证后返回 ⏱️ 中等 验证
REFRESH_HIT 强制刷新 用户强制刷新,忽略缓存 🐢 慢 ✅ 是