大家好,我是老杨

相关服务:韩国大带宽服务器租用

GitHub 出事了. 

话说今年刚开年就好多史诗级事件了.github说:“不差我这一次了.”

2026年1月15日傍晚.突然,github的CI/CD 流水线毫无征兆地全线飘红,代码推不动,PR 合不了,自动化部署不好使。然而GitHub官方状态页(Status Page)却显示“All Systems Operational”(所有系统运行正常),配上那一抹淡定的全绿标识。

你看着是这样

其实是这样

最后github的声明

直到 UTC 时间 16:57,官方才慢吞吞地挂出“正在调查”的字样。但回过头来看,这场足以载入史册的技术风暴,早在二十分钟前就已经在底层数据中心里“暗流涌动”了。

根据后来复盘的数据,16:40 UTC 至 18:20 UTC 是这场灾难的“震中”。官方报告提到:平均 1.8% 的 Web 和 API 请求失败。

很多人可能会觉得,不就是 1.8% 吗?这有什么大惊小怪的?

这就很有意思了。在分布式系统的概率论里,这 1.8% 的失败率绝不是雨露均沾。在故障爆发初期,峰值报错直接飙到了 10%。想象一下,这就像你开着一辆高速行驶的赛车,方向盘每转十次就有一次失灵。对于追求高频自动化触发的现代开发节奏来说,这 10% 的瞬间冲击力足以摧毁全球的同步开发节奏。

这场风暴的源头并不是黑客攻击,而是一次堪称“教科书级失败”的底层数据存储(Data Stores)主版本升级。工程师们本想给系统换一颗更强劲的心脏,却没料到新版本在高 load 之下爆发了严重的资源竞争(Resource Contention)。

这次事故最让人心惊的不是单一环节的失效,而是那种像“多米诺骨牌”一样的级联效应。

首先是数据库升级引发资源竞争,导致查询变慢、延迟飙升;

紧接着,负责分流的负载均衡器(Load Balancer)面对堆积的请求产生了误判,触发了错误的自动缩容(Auto-scaling)规则,不仅没加机器,反而缩减了服务能力;

最后,一个负责认证的第三方微服务在压力之下爆发了内存泄漏,彻底锁死了全球用户的登录入口。

我们可以通过这个表看看这套“组合拳”是怎么打出来的:

故障维度

视角

技术成因 (Root Cause)

全球业务实质影响

数据库瓶颈官方确认 (根源)

数据存储主版本升级引发资源竞争 (Resource Contention)

元数据检索、PR (Pull Request) 追踪出现严重延迟或超时

负载均衡过载官方确认 (传导层)

自动缩容规则误触发,导致剩余节点瞬间承载过量请求

流量分发失灵,GitHub.com 出现大规模连接中断

CDN 缓存失效第三方猜测 (诱因)

资产刷新机制停滞,导致静态资源无法有效分发

开发者克隆仓库或访问时频繁遭遇 404 错误

身份验证崩溃官方确认 (受害者)

第三方微服务在高并发压力下爆发内存泄漏

OAuth 令牌校验失败,IDE 和 Git 客户端无法验证身份

正如工程师 Thomas Kjær Aabo 在事后反思中所言:“系统健壮性往往崩塌在那些为了应对紧急情况而临时打上的‘补丁’里。”当防御层叠得太厚,它们本身就成了故障的一部分。

如果说仓库打不开只是让人烦躁,那么 GitHub Actions 的大面积停摆则是直接“断了无数公司的财路”。

数据显示,故障期间 GitHub Actions 的工作流失败率高达 92%。这意味着全球绝大多数自动化测试、打包和部署任务全部变成了废纸。影响范围极具地理特征:北美和欧洲 85% 的用户陷入全线瘫痪,API 请求延迟甚至超过了 10 秒;而在亚太地区,尽管时值深夜,仍有 60% 的用户(尤其是印度和日本的开源贡献者)经历了间歇性访问障碍。

更扎心的是这种故障对 AI 辅助开发生态的“降维打击”。Reddit 上哀鸿遍野,大批用户反馈 Claude 的 GitHub Connector 彻底变成了瞎子——AI 无法读取仓库,因为它背后的 API 接口正在疯狂报错。很多习惯了“AI 代工”的开发者陷入了某种技术性脱瘾症状:有些人不得不手动寻找文件路径,有些人转而求助本地 filesystem MCP,甚至有人退回到传统的 Copilot 模式。

在那个黑暗的 4 小时里,全球 PR(拉取请求)活跃度骤降了 40%。协作链条的断裂,让全球开发者在那一晚集体体验了什么叫“无能为力”。

Thomas Kjær Aabo 提到的一个细节特别值得警醒:GitHub 内部其实充斥着各种为了“救火”而临时设立的频率限制(Rate Limits)和防御规则。

这些规则在设立之初是盾牌,但一旦火灭了却没人收回,它们就成了阻碍正常请求的“元凶”。根据 Aabo 的报告,这些过期规则的误伤率(False-positive rate)竟然达到了 0.003% 到 0.004%,也就是说,每 10 万个正常请求里,就有 3 到 4 个会被无辜阻拦。

GitHub 的链路追踪极其复杂,从边缘层、HAProxy 层到应用层,每一层都像是一道关卡。这种复杂性导致 MTTR(平均修复时长)被无限拉长,因为工程师必须像考古一样去翻找,究竟是哪一层、哪条过期的规则在“误伤”合法用户。此次故障,本质上是一场“由于过度保护而引发的次生灾害”。

事故过后,PulseScope 开始重新审视分布式架构的潜力,GitLab、Radicle、IPFS 甚至是 ForgeFed 再次被推到了风口浪尖。

“本地优先”(Local-first)工作流和镜像库策略,在这次事故中证明了它们的生存价值。如果你有 GitLab 上的同步镜像,或者用了 Radicle 这种点对点协议,那么这 4 小时可能只是虚惊一场。

不过咱该说不说每次这样的故障,他们的官网实时处理状态跟进都很及时.社区沟通也非常顺畅.这个确实让人体验非常好.

cloudflare的运维更新一个数据库规则,导致全球网站宕机.

韩国的同行搬电池结果给国家级数据中心机房全点着了.

这次github运维换硬件全球大部分cicd都不好使了.

应该都知道运维的重要性了吧.

推荐阅读:

现在的内存到底有多贵?窃贼砸碎机箱只拿走了内存条

有关部门已指示国内公司停止使用美国和以色列10多家网络安全公司的软件

携程为什么会被反垄断调查?

代码即导弹:复盘 2010 伊朗纳坦兹核设施的“数字电子战”

运维人,你们知道未来你们要运维的AI数据中心是个什么样的存在么?

25岁天才程序员独立开发游戏狂赚1000万,被认定架设“游戏私服”,擦点边都不行么?

马斯克:别被那种“一年好过一年”的假象骗了

“死了么”为什么这么火?开发“死了么”花了多少钱?“死了么”现在赚了多少钱?开发一个“死了么”要什么条件?

详解韩国国家数据中心着火事故

博主亲历一个P0故障的始末经验绝版贴

老杨的另一个号欢迎关注