GitHub 详解服务中断原因及扩展计划以应对快速增长
realtime news Apr 28, 2026 10:31
GitHub 列出了在最近中断事件后增强可靠性的步骤,这些事件影响了拉取请求和搜索系统。扩展计划旨在满足激增的需求。
GitHub 详细说明了最近两次服务中断的原因,并提出了大规模扩展其基础设施的计划。4 月 23 日和 4 月 27 日的事件分别影响了拉取请求合并队列和基于 Elasticsearch 的搜索系统,突显了支持快速增长的开发者生态系统所面临的挑战。这两次中断干扰了数千个代码库的工作流程,并揭示了 GitHub 系统中的潜在问题。
根据 GitHub 首席技术官 Vlad Fedorov 发布的更新,该平台正在经历前所未有的增长。自 2025 年底以来,代码库创建、拉取请求活动和 API 使用等关键指标激增,需要重新设计以实现当前基础设施规模的 30 倍扩展。Fedorov 将这一加速归因于“自主动化开发工作流”和大规模 monorepo 的日益使用,这对多个子系统同时造成了压力。
事件细节
4 月 23 日的中断涉及合并队列操作中的回归问题。在影响期间,230 个代码库中的 2,092 个拉取请求受到影响,在特定场景下使用压缩合并时产生了错误的合并提交。虽然没有数据丢失,但 GitHub 承认某些默认分支的状态无法自动修复。
四天后,即 4 月 27 日,GitHub 的 Elasticsearch 子系统遭遇了可能由僵尸网络攻击引发的过载。这导致基于搜索的功能(包括拉取请求和问题的部分功能)未显示任何结果。尽管核心 Git 操作和 API 未受影响,但中断显著影响了用户体验。GitHub 承认该子系统尚未完全隔离,仍是一个单点故障。
扩展和可靠性计划
自 2025 年 10 月以来,GitHub 一直在积极扩展,最初目标是实现 10 倍容量的增长。然而,平台现已将目标调整为 30 倍扩展,重点是可用性、容量和弹性。措施包括:
- 减少不必要的工作负载并改进缓存以减轻数据库压力。
- 隔离关键服务(如 git 和 GitHub Actions)以限制事件的“影响范围”。
- 将性能关键代码从 Ruby 单体架构迁移到 Go。
- 从定制数据中心迁移到公共云,并采用多云策略以提高弹性。
值得注意的是,GitHub 优先解决了大规模 monorepo 带来的挑战。在过去三个月中,平台投入大量资源优化拉取请求体验和数千个每日拉取请求代码库的合并队列操作。一个旨在提高效率的新 API 设计预计将很快推出。
历史背景和市场影响
GitHub 的可用性问题并非新鲜事。2018 年和 2021 年的过往事件,包括数小时的服务中断和关键功能(如 GitHub Actions)性能下降,曾经引发开发者的批评。然而,GitHub 当前的增长规模似乎前所未有,受到自动化和软件开发实践演变的推动。
作为微软的子公司,GitHub 并未单独报告财务数据,但其对微软开发者生态系统的价值至关重要。持续的中断可能会影响人们对微软更广泛云能力的看法,尤其是在 GitHub 与其他开发者平台(如 GitLab 和 Atlassian 的 Bitbucket)竞争的情况下。对于投资者而言,如果 GitHub 长期存在可靠性问题,可能会对微软股票(MSFT)产生轻微的不利影响,尽管历史上未观察到直接相关性。
未来展望
GitHub 承诺在事件期间提高透明度,最近更新了状态页面以包括可用性指标,并承诺提供更详细的事件报告。正如 Fedorov 所强调的,该平台当前的首要任务是可靠性,其次是容量扩展和功能开发。一篇详细介绍即将推出的 API 变化的博客文章预计将在不久后发布,进一步提供有关 GitHub 扩展策略的见解。
对于开发者而言,GitHub 的路线图表明其关注长期弹性。然而,随着需求持续增长,保持一致的可靠性将仍然是一项艰巨挑战。
Image source: Shutterstock