GitHub公布本周大规模长时间中断的复盘报告 高流量叠加内部BUG导致重试风暴
2026-8-19 03:54:25 Author: www.landian.news(查看原文) 阅读量:18 收藏

#网站应用 GitHub 就本周发生的大规模长时间中断发布事故复盘报告,高流量冲击叠加内部基础设施的缺陷引发重试风暴。中断直接原因是美国中部数据中心流量极高引起堵塞,而 GitHub 内部扩容机制存在问题没能成功扩容节点,同时 GitHub 重试机制导致循环发起重试风暴继续堵塞网络。复盘报告:https://ourl.co/126329

代码托管网站 GitHub 在本周出现大规模长时间的中断,此次中断时间非常长因此也导致大量用户的正常使用受影响。按惯例 GitHub 会在问题解决后发布详细的复盘报告来保持透明度,此次中断问题由外部流量太高引起,而 GitHub 内部基础设施存在多种错误,这些问题叠加起来导致长时间中断。

GitHub公布本周大规模长时间中断的复盘报告 高流量叠加内部BUG导致重试风暴

GitHub 部分服务通过 Istio Service Mesh 运行,应用容器旁会部署负责网络通信的 Sidecar。事故发生时其中部分 Sidecar 已经达到最大并发处理能力,但 GitHub 的自动扩容策略主要根据应用自身判断是否扩容,没有充分考虑 Sidecar 的连接和并发状态。

因此即便网络代理已经接近处理极限,系统仍然没有及时增加实例。随着部分节点无法继续正常处理流量,请求开始转移到其他节点,随后更多高可用负载均衡器节点也逐渐达到容量上限,最终导致负责身份验证等关键服务的网络路径严重堵塞。

由于 GitHub.com、GitHub API、GitHub Actions 等诸多服务都依赖身份验证和网关基础设施,因此路径发生严重堵塞后影响范围被迅速扩大。

正常情况下服务暂时出现错误时进行自动重试可以提高请求成功率,但在此次事故中自动重试机制反而加剧故障,当身份验证请求开始超时时,大量客户端和内部服务不断发起新请求,已经过载的负载均衡器因此收到更多流量,这种现象被称为重试风暴。

简单来说原本只是部分请求失败,但系统为提高成功率自动重新发送请求,结果让后端服务压力继续增加并导致更多超时,然后系统再次触发更多重试最终形成恶性循环。GitHub 后续通过暂停部分异常负载均衡器节点将部分流量转移到其他数据中心才逐渐恢复主要服务。

GitHub Copilot 是此次事故中恢复时间最长的服务,调查发现适用于 Microsoft Visual Studio Code 中的 GitHub Copilot 存在异常重试问题,当负责签发身份验证令牌的服务响应缓慢或失败时,部分客户端会持续请求新的身份验证令牌。

正常情况下签发身份令牌的服务每秒需要处理 7000~9000 个请求,但在事故发生时请求量暴增到每秒 7 万次~10 万次,相当于正常水平的 10 倍,这些额外请求继续增加身份验证基础设施的压力,所以其他服务恢复后 GitHub Copilot 仍然无法正常工作。

在复盘报告中 GitHub 还提到,事故恢复期间 Codeload 代码下载服务遭遇多轮大规模自动化爬取流量,这些异常流量并不是此次事故的主因,但在恢复期间这些流量给基础设施造成更大压力并加大故障恢复难度。

针对此次事故暴露的问题,GitHub 表示将调整自动扩容策略,同时还会重新检查内部网关和客户端的自动重试策略,避免发生故障后大量重试请求反而会压垮后台服务。


消息源:GitHub Status

热门推荐仅需99元/年,硅谷CN2GIA服务器,另有3年版仅需528元,限量销售,售完即止

  • Codex加强安全措施和高危命令审查 减少再出现意外删除用户全盘文件的情况

  • 研究显示西数和HGST硬盘故障率更低 而希捷和东芝的故障率明显更高

  • SK海力士固态盘故障后怎么售后?当下只提供原价退款 换新是不可能的

  • DeepSeek API涨价也震惊国外开发者 原以为最多翻倍没想到是好几倍

  • 萨姆奥尔特曼和达里奥阿莫迪突然逝世?有人篡改维基百科诱导谷歌展示错误数据

  • 英特尔CEO暗示重返内存制造市场 甚至还重新考虑将内存与CPU堆叠(不可更换内存)


文章来源: https://www.landian.news/archives/126329.html
如有侵权请联系:admin#unsafe.sh