面对突如其来的事故,GitHub 迅速回滚了“与数据库基础设施相关的变更”。
GitHub 遭遇全球性宕机
作为极具人气的代码仓库与开发者平台,GitHub 本周三遭遇一系列影响到其网站及多项 GitHub 服务的重大问题,但目前系统已经回归正常。根据美国东部时间昨晚 8:26 的状态消息,该公司已经回滚了导致此番事故的数据库基础设施变更,并表示服务现已“全面恢复运行”。
根据当时的访问情况来看,前往 GitHub 主网站后页面会显示一条错误消息,提示“当前没有可用于响应您请求的服务器”。但不久之后,GitHub 网站即恢复运行(错误消息中还附有一张愤怒的独角兽图片)。在后续事件报告当中,GitHub 一一罗列了 pull requests、GitHub Pages 以及 GitHub API 等受影响服务。
而且事件的扩散速度也相当夸张。GitHub 的首条状态消息公布于美东时间晚 7:11,而几分钟后其再次报告多项服务发生问题。这些问题的影响范围似乎也相当普遍,Downdetector 显示有超 1 万名用户表示受到牵连。另外问题发生得也相当突然。当天晚 7:13,互联网监控服务 BetBlocks 亦发布消息称 GitHub“正经历一波跨国服务中断”。
随后没多久,GitHub 发布状态称 Copilot 也崩了!有人在 Hacker News 上调侃称:“这下所有 AI 原生应用开发者可以正当光明摸鱼了,因为 Copilot 已经瘫痪了”。
8 月 14 日,截至此文发布前,GitHub 发布更新称在经历重大中断后,其服务现已恢复正常。
GitHub 并未立即回复置评请求。
微软在 2018 年 10 月以 75 亿美元的价格收购了代码存储库 GitHub,在微软的管理下 GitHub 表现出了强劲的增长势头,从购买时的不到 4000 万用户增长到现在的 7300 多万的开发者用户,他们依靠该服务通过 Git 进行版本控制,并为软件开发提供托管服务。
GitHub 是一个大型的代码库,在开发者和公司在该服务上托管整个项目和代码时非常流行。苹果、亚马逊、Google、Facebook 和许多其他大型科技公司都使用 GitHub。
但一些用户称,自此以后,该服务平台变得更加不可靠。虽然被微软收购后 GitHub 的知名度不断提高, 但其在开发者中心中的地位却逐渐下滑。
开发者对其逐渐失望
这可不是 GitHub 第一次出现宕机情况。近几年 GitHub 宕机事件频频发生,最严重的一次发生在 2018 年。
2018 年 10 月 21 日,GitHub 经历了一次事故,导致服务降级 24 小时 11 分钟。虽然平台的某些部分不受事故影响,但仍然有多个内部系统受到了影响,向用户显示了过时且不一致的内容。所幸没有用户数据丢失,但针对几秒钟数据库写入的手动调整工作仍在进行当中。在发生事故期间,Webhook 无法提供服务,也无法构建和发布 GitHub Pages。
事后,GitHub 发文对每个受影响的用户深表歉意:“我们深切感受到用户对 GitHub 的信任,并为构建能够保持平台高可用性的弹性系统而感到自豪。在这次事故中,我们让用户失望了,我们深感抱歉。虽然我们无法撤销导致 GitHub 平台长时间无法使用的问题,但我们可以解释导致这次事故的原因、我们从中吸取的教训以及我们将要采取的措施,以便确保类似情况不会再次发生”。
但,类似的事故又怎会停止。
2021 年 11 月 28 日,美东时间下午 3 点 45 分左右,GitHub 开始出现问题,Git 操作、API 请求、GitHub 行动、包、页面和拉取请求都受到影响。GitHub 上有超过 1 亿个存储库,所以任何故障都会影响到这些内容的组织。
时间再往回推,2020 年,GitHub 也瘫痪了两个小时,错误的设定令该服务瘫痪并使其短暂下线。这次最新的故障发生在 GitHub 前 CEO 纳特·弗里德曼(Nat Friedman)卸任后的几周,该公司继续作为微软的独立企业运营。
GitHub 还在 2022 年 2 月发生过一次重大故障。当时一度导致 GitHub 平台在全球范围内关闭,并且一切访问网站的请求均被阻止。同年 3 月,GitHub 又遭遇多次中断,当时该公司表示事件原因是由平台主数据库集群的资源争用问题引起的。
GitHub 宕机对于开发者来讲似乎已经司空见惯,但他们仍然在各社交平台上表达着自己的不满。
在 Hacker News 上,一位 ID 为 smsm42 的用户称:“这很好地诠释了古德哈特定律。我们将拥有这个很棒的状态页面,但如果我们更新它,客户就会注意到系统已关闭,因此我们将设置许多障碍,以防止实际状态显示在页面上。最终,也可能会遭遇一场集体诉讼。”
注释:古德哈特定律(Goodhart's law)是一个出自经济学家查尔斯·古德哈特的说法,玛丽莲·斯特拉森将之表述为:“一项指标一旦变成了目标,它将不再是个好指标。”一个会让此种现象发生的状况,是一个人对一项政策有一定的预期,并利用各种手段去改变结果。
另一位 ID 名为 sebmellen 的 Hacker News 用户称,如果 GitHub 承认这次事故,那可能面临几百万美元的赔偿,但不承认似乎也不现实。因为所有 GitHub Pages 都说‘我们今天过得真糟糕。独角兽已经接管。我们正在尽最大努力控制它们并让 GitHub 恢复正常运行。’
还有一位用户称:“我从未见过如此严重的中断。甚至主页都无法加载。我们经常遇到 Actions 无法运行的问题,但这次似乎更严重。不过,状态页面显示一切正常:https://www.GitHubstatus.com/,太搞笑了。”
这些针对 GitHub 的用户吐槽都传递着一个讯号——开发者认为 GitHub 越来越不靠谱了。像 GitHub 这样的服务器,发生 30 秒宕机都是不可接受的,而这么频繁且长时间的中断是一件很可怕的事,因为它托管了数以万计开发者的代码,一旦宕机意味着这些开发者甚至很多企业的正常业务都会受影响。
“看起来 GitHub 上出现了全面中断,一切都瘫痪了。这比所谓的 Twitter / X 最近出现的减速带要糟糕得多,当时人们对此大加指责,但很快就忘记了。我认为 GitHub 还没有从每月不断发生的事故中恢复过来。坦率地说,GitHub 每个月都会发生一些事故,这表明该服务是多么不可靠,这种情况已经持续多年了。”
参考链接:
https://www.theverge.com/2024/8/14/24220685/GitHub-down-website-pull-request
评论