Skip to content

10 · CDN 与负载均衡 ​

"为什么海外访问慢""为什么大促不挂"——答案一半在 CDN,一半在负载均衡。本篇讲 CDN 的 DNS 调度与缓存、负载均衡的调度算法与健康检查,给前端一个能听懂、能排查的版本。

速览卡 ​

项内容
一句话定位静态加速与流量分发的两个基础设施
核心内容CDN 调度/缓存/回源、LB 算法/健康检查/会话保持
读完能回答CDN 怎么把请求分到最近的节点?LB 轮询就一定公平吗?
相关板块N03 DNS | N09 代理与网关

一、CDN 在做什么 ​

text
DNS 智能调度 → 就近节点 → 命中缓存直接返回 → 未命中回源
环节作用
DNS 调度按地理位置/运营商返回最近节点 IP
边缘缓存静态资源就近返回,省跨区带宽
回源缓存未命中时到源站取,并缓存

二、CDN 缓存与刷新 ​

概念说明
缓存规则按路径/扩展名/响应头控制
刷新主动失效某条 URL 的缓存
预热提前把热点资源推到边缘节点
命中率边缘直接响应的比例,越高越省源站

前端感受:改完静态资源不上线/看到旧版,先想 CDN 缓存,再想浏览器缓存。文件名 hash 是治本手段。


三、负载均衡:把流量分到多台机器 ​

text
LB → 按算法选择一台上游 → 转发 → 健康检查保底
算法特点场景
轮询依次分发,简单同质化节点
加权轮询按机器能力分配机器规格不同
最少连接分给连接数最少的长连接、计算型
一致性哈希同一 key 固定到同一节点需要会话/缓存亲和

四、健康检查与优雅上下线 ​

机制说明
健康检查周期性探测,摘除失败节点
优雅下线停流量 → 排空存量请求 → 再停服务
会话保持让同一用户固定到同一节点(有损弹性)

五、排障要点 ​

现象可能原因
静态资源旧CDN 缓存未刷新 / hash 未变
某地区慢该地区节点异常或未命中
时好时坏LB 里某台上游不健康未摘除
请求打到源站命中率低 / 未配缓存规则

六、自检清单 ​

  • [ ] 能画出 CDN 的"调度 → 缓存 → 回源"链路
  • [ ] 知道刷新、预热、命中率各是什么
  • [ ] 能说清几种负载均衡算法的适用场景
  • [ ] 知道健康检查与优雅下线的意义
  • [ ] 能排查"改了不生效/某地慢"的基本方向

七、常见误区 ​

误区事实
"CDN 只加速下载"也做 DDoS 防护与源站保护
"轮询就是最公平"长请求下最少连接更合适
"会话保持必须开"它会牺牲弹性与故障切换
"刷新缓存就完事"文件名 hash + 缓存规则才是根治

八、动手练习 ​

练习 A:看 CDN 头 ​

打开一个常见站点,Network 里看静态资源响应头里的 CDN 标识与缓存信息。

练习 B:对比源站与 CDN ​

分别请求同一个静态资源的直连与 CDN 域名,对比 DNS 解析出的 IP 与响应耗时。

练习 C:读一次 LB 配置 ​

用 Nginx upstream 配置轮询/加权/健康检查,理解三个字段分别对应本篇哪些概念。


相关文档 ​

本区 ​

其他域 ​