换 CDN 的切换清单

换 CDN 的风险大多不在技术选型,而在切换窗口。DNS TTL、证书、缓存基线这几件事没做好,切换当天会很难看。

7 分钟选型指南
换 CDN 的切换清单

要点

提前把 DNS TTL 降下来、先用子域名灰度、记录切换前的命中率基线。这三步能挡住绝大多数切换事故。

本文目录
  1. 01切换前一周
  2. 02灰度阶段
  3. 03切换当天与之后

切换前一周

  • 把主域名的 DNS TTL 降到 300 秒或更低——TTL 是多久,回滚就要等多久;
  • 导出当前的缓存命中率、回源流量、分区流量作为基线,否则切换后无法判断是好是坏;
  • 把现有 CDN 的缓存规则逐条整理出来,包括容易漏掉的 query 参数处理与 Vary 配置;
  • 确认证书方案:上传自有证书还是由新厂商签发,以及证书链是否完整。

DNS TTL 是回滚速度的上限

如果 TTL 是 86400 秒,切换出问题后即使立刻改回 DNS,仍有大量用户在接下来一天里被解析到新厂商。这是切换事故里最难受的部分——你已经知道错了,但没法马上停下来。

灰度阶段

不要直接切主域。先用一个子域名(如 cdn-new.example.com)接入新厂商,指向同一个源站,然后实测:

  • 各地区的首字节时间与下载速度,和现有厂商对比;
  • 缓存状态响应头是否符合预期(HIT/MISS 行为是否与旧厂商一致);
  • 压缩是否生效、返回的是 br 还是 gzip;
  • 大文件下载是否被限速、Range 请求是否正常;
  • 错误页与 5xx 时的行为(是否有 stale-if-error)。

切换当天与之后

  • 别在流量高峰或发版当天切;
  • 切换后头几小时命中率必然偏低(新厂商缓存是冷的),这是正常的,不要误判为配置错误;
  • 盯住回源流量——如果几小时后仍居高不下,说明缓存规则有遗漏;
  • 旧厂商先别退订,保留一到两周作为回滚路径;
  • 一周后用基线数据做一次正式对比,再决定是否完成迁移。

在你的网站验证

厂商对比切换前把候选厂商的能力逐项对齐