![]()
2026 年 8 月 20 日,GitHub 已公布 8 月 17 日大规模服务故障的完整原因。
![]()
2026 年 8 月 17 日 13:28 至 21:15 UTC,GitHub.com 出现持续 7 小时 47 分钟的高错误率和高延迟,Issues、Pull Requests、API、Actions 和 Copilot 等多项服务受到影响。故障高峰期间,网页和 API 的错误率约为 20%,仓库归档文件和 Raw 内容下载错误率约为 50%。
SAML/OIDC 身份认证、SCIM 和 Team Sync 同样受到影响。
此外,对于启用了数据驻留(Data Residency)的 GitHub Enterprise Cloud(GHEC)用户,如果其 Actions 工作流依赖托管在 GitHub.com 上的公共工作流步骤定义,也会受到此次故障影响。
随着美国中部(Central US)数据中心逐步恢复,大部分服务于 16:36 UTC 前后恢复正常;Actions 的服务降级持续至约 18:03 UTC;Copilot Token Service 则直到 21:02 UTC 才完全恢复。
故障期间,部分失败流量从 Central US 转移至北弗吉尼亚(Northern Virginia)数据中心,并一度得到正常处理,直到 Central US 的网络故障完成排查和修复。
在恢复过程中,一个内部端点响应延迟触发了 VS Code 中一个此前潜伏的重试缺陷,导致相关流量被放大约 10 倍,从而延缓了 Copilot Token Service 的恢复。
此次故障的直接原因,是 Central US 负载均衡器在流量创下新高后出现网络饱和。
最初的触发点是一台 Istio sidecar Pod 达到并发上限,但由于自动扩容策略配置错误,系统只监控宿主服务,没有监控 sidecar 自身的并发限制,因此未能正确扩容。
随后,单点故障逐步扩散,最终共有 4 台 HAProxy 节点耗尽 flow limit,导致网关认证链路性能下降,引发大范围身份认证延迟和失败。
问题又受到过于激进的重试逻辑影响,大量重试请求进一步压垮内部负载均衡器。GitHub 随后同时暂停这些节点上的 HAProxy,系统随即出现大范围、即时恢复。
北弗吉尼亚数据中心出现的重试风暴最终通过两项措施得到控制:
1)通过提交 PR,临时降低网关层的重试强度;
2)在负载均衡器层面对进入 Copilot Token Service 的 Token 请求直接返回 HTTP 403,并随后按站点逐步恢复流量,使调用方能够重新正常请求。
此后仍有部分 Copilot 身份认证失败持续出现,原因是客户端的重试行为进一步放大了系统负载:一次失败的 Token 操作可能生成大量额外请求,并进入循环重试。
Copilot Token Service 的请求量由正常情况下的每秒 7000 至 9000 次请求(RPS),激增至每秒 7 万至 10 万次。
在减少网关认证重试,并拦截会继续触发重试的响应后,Copilot Token Service 最终恢复稳定,整个恢复过程随之完成。
此外,多起针对 codeload 端点的自动化抓取攻击,也增加了故障恢复的复杂度并延缓了处理进程。
为防止类似事故再次发生,GitHub 后续将采取以下措施:
* 修正自动扩容策略,将 service mesh sidecar 的并发量和容量纳入扩容判断;
* 审计受影响服务中的 Istio 请求限制、并发限制及扩容上限;
* 检查网关和客户端的重试上限及退避(backoff)机制;
* 解决 VS Code 中会放大 Copilot Token 流量的重试行为;
* 加强负载均衡器容量监控及区域故障转移保护机制。
云头条声明:如以上内容有误或侵犯到你公司、机构、单位或个人权益,请联系我们说明理由,我们会配合,无条件删除处理。
![]()
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.