事件概述 - 11月18日,Cloudflare公司遭遇持续约五个半小时的宕机事故,导致多款热门网站和AI服务下线[2] - 服务中断从美国东部时间凌晨5点20分左右开始,至上午11点44分结束,受影响应用包括OpenAI的ChatGPT和Sora、Claude、Shopify以及美国新泽西州公共交通系统官网[2] 影响范围 - 全球约20%的网站依赖Cloudflare管理和保护流量,此次宕机影响了X、Spotify、ChatGPT、Truth Social、Canva、Letterboxd等热门平台[3] - 故障波及CDN服务、应用服务产品套件、WARP VPN服务以及Cloudflare Access零信任网络访问工具[2][3] - 宕机期间Cloudflare股价下跌约3%[13] 故障时间线 - 美国东部时间5:20左右首次发现异常流量,7点前发布首次状态公告[2] - 8:09查明问题并实施修复,8:13恢复伦敦地区WARP服务,9:34恢复控制面板服务,9:42修复根本原因[4] - 整个恢复过程持续监控,最终于11:44全面恢复服务[4] 技术原因分析 - 根本原因是数据库用户权限变更导致SQL查询返回重复数据,使特征配置文件大小翻倍[5][10] - Rust代码中第82行使用unwrap方法处理配置文件时出现故障,当配置文件超出预期规模时引发系统崩溃[7][8] - 底层ClickHouse查询行为变更导致生成文件中出现大量重复特征行,文件大小超出软件限制[11][12] - 公司误判初始症状为DDoS攻击,延误了故障诊断[5][12] 系统架构背景 - Cloudflare平台通过全球数据中心分发网站内容,为全球95%人口提供50毫秒或更低延迟[10] - 机器人管理模块每几分钟更新一次特征配置文件,用于机器学习模型生成机器人评分[10] - 此次宕机是公司自2019年以来最严重的一次中断,也是六年来首次导致大部分核心流量无法通过网络传输[14] 行业影响与反思 - 事件暴露互联网对单一供应商的过度依赖问题,引发对互联网脆弱性的讨论[15] - 故障显示公司服务之间存在过度耦合,导致控制面板无法访问进而影响恢复速度[14] - 公司计划通过强化配置文件校验、增设紧急关闭开关、审查错误场景故障模式等方式加固系统[14]
一行 Rust 代码,全球一半流量瘫痪!Cloudflare 用六年最惨宕机,给所有技术人上了一课
程序员的那些事·2025-11-19 19:30