- 目标:快速恢复通过808cdn加速的网站与API服务。
- 常见故障:配置下发失败、边缘节点异常、DNS解析错误、源站过载、DDoS流量。
- 影响面:域名解析失效、用户延时上升、HTTP 5xx错误率上升。
- 指标关注:RTT、TTFB、edge hit ratio、origin CPU/IO、错误率(EER)。
- 准备:应急联系人表、回滚脚本、健康检查策略、备份配置。
- ① 检测:报警触发(如5分钟内5xx占比>5%或RPS突增>50%)。
- ② 断定:确认是否为CDN、DNS或源站问题,查看edge日志与健康检查。
- ③ 隔离:对异常edge或配置下发作回滚或灰度,降低影响域名QPS。
- ④ 缓解:临时调整DNS TTL->60s,切换到备用origin或静态缓存。
- ⑤ 根因分析:保留pcap、日志,定位变更点并撰写回溯报告。
- 日志:edge access.log/err.log、origin nginx error/access、tcpdump抓包。
- 指标示例:edge hit ratio=72%,origin 95% CPU,5xx比=12%。
- 工具:Prometheus+Grafana、ELK(Elasticsearch+Logstash+Kibana)、tcpdump、mtr。
- 快速判定:如果edge hit ratio下降且origin响应延迟>500ms,优先判定源站瓶颈。
- 数据保留:故障开始至恢复的所有指标保存为CSV供后续演练。
- 回滚原则:能快速恢复用户可用性优先,保证原子性与可回溯性。
- 回滚方式:配置回滚(将cdn配置恢复至上一个稳定版本)、DNS回退、切换备用origin。
- 配置示例:Nginx upstream回退到originA,keepalive_timeout=65;示例命令:rsync + nginx -s reload。
- 回滚预案:TTL=60、备用origin IP列表、健康检查频率=10s,灰度比例50%->0%。
- 验证:回滚后5分钟内监控5xx、RTT、edge hit ratio是否回到基线。
- 场景:2025-03-12 03:12 UTC,某站点通过808cdn突发流量,RPS从20k突增到120k。
- 监测数据:edge miss率由28%升至65%,origin CPU 95%,平均响应1.8s,5xx比12%。
- 处置步骤:1) 将CDN配置回滚到2025-03-11 22:00版本;2) 将域名临时TTL设为60s;3) 切换备用origin(10.10.10.21)。
- 成果:回滚后10分钟内RPS回稳至22k,origin CPU降至45%,5xx降至0.6%,edge hit ratio回到78%。
- 复盘:问题为新策略导致边缘缓存失效,建议上线前增加回滚演练与流量灰度阈值。
- 常态化演练:每季度一次全链路回滚演练,测RTO目标≤10分钟。
- 配置管理:版本化CDN配置、保留至少3个可回滚版本。
- DDoS防御:启用速率限制、黑白名单、源站接入WAF,测试峰值防护能力≥200k RPS。
- 监控SLA:设置关键阈值告警,报警路由到OnCall并自动化执行部分缓解脚本。
- 文档与审批:每次配置变更前必须有变更单、回滚计划与责任人。
| 项 | 故障前 | 故障中 | 回滚后 |
|---|---|---|---|
| RPS | 20,000 | 120,000 | 22,000 |
| Origin CPU | 30% | 95% | 45% |
| Edge Hit Ratio | 78% | 35% | 78% |
| 5xx 比例 | 0.2% | 12% | 0.6% |
