写点什么

谷歌云暂停 Railway 生产账号,引发全平台八小时级中断

作者:Steef-Jan Wiggers
  • 2026-06-04
    北京
  • 本文字数:1567 字

    阅读完需:约 5 分钟

此次暂停并非由 Railway 的任何具体行为触发。而是谷歌大范围的自动化操作的一部分,此次操作影响了多个账号,且没有提前向任一客户发出通知。Railway 工程团队的 Chandrika Khanduri 和 Cody De Arkland 写道

我们对架构设计负全部责任,我们的设计致使单一上游服务商的操作能够级联成一次全平台中断。

这种级联机制是整个架构层面最具技术讨论价值的部分。Railway 在谷歌云平台(GCP)、AWS 以及自有裸金属基础设施(Railway Metal)之间运行一个网状网络。当 GCP 暂停账号后,AWS 和 Metal 上的工作负载在最初仍然持续运行,因为 Railway 的边缘代理会从网络控制平面缓存路由表。然而,该控制平面本身托管在 GCP 上。当缓存路由过期后,边缘节点无法再解析到活跃实例的路由,随后所有区域的工作负载开始返回 404 错误,包括 Metal 和 AWS 节点。此时工作负载本身仍在运行,只是已经不可达。

恢复过程也并不即时。即使账号访问恢复,服务也不会自动恢复。持久化磁盘、计算实例以及网络能力都需要分别恢复。磁盘在 UTC 时间 23:54 已恢复就绪,但核心网络直到次日 01:30 才完全恢复。随后还需要逐步清理积压的部署队列,以避免对构建系统造成过载。同时,由于重试请求激增,GitHub 开始对 Railway 的 OAuth 和 webhook 集成进行限流,导致用户登录和构建功能在一段时间内受到阻断。

Railway 创始人 Jake Cooper 在接受 Cybernews 采访时表示,他对这次暂停“感到震惊”,并宣布 Railway 将把 GCP 降级为仅作为备份使用。事故报告也确认了这一点:Railway 正在将 GCP 从数据平面的热路径中移除,扩展跨 AWS 与 Metal 的高可用数据库分片,并重新设计网状网,使得即便某一互联路径失败,路由表仍然可以通过其他存活路径重新生成。

Hacker News 上,该话题在多个帖子中累计共有 150 多条评论。一位评论者指出了一个仍未解释的问题:

就算你在事后分析中列出了所有的时间戳,但实际上还是没有回答出根本原因。“这件事说不通”的部分,很可能存在一个真实但尚未公开的解释。

谷歌尚未就账号为何被暂停发布公开说明。Railway 的报告仅指出,该账号是“在一次影响多个账户的自动化操作中被错误标记”。

另一条评论则总结了更广泛的信任问题:

在别人的平台上构建服务本身就是有风险的,而在别人平台之上再构建平台,则风险更高。

一位 Railway 客户直接分享了他们的应对方式:

很不幸,我们昨天不得不紧急迁移到 Azure。尽管我们非常喜欢他们提供的简单性,但由于这些反复的故障和短板,我们无法继续在其基础设施上运行 B2B 企业应用。

此次事件并非孤立发生。在此次全面宕机前的几天,Northflank 报告称开发者已经遇到 worker 崩溃、局部中断以及构建延迟问题,一些用户表示这已经是他们在几个月内经历的第二次或第三次重大故障。Railway 在 2026 年 2 月发布的事后分析中也承认,其系统存在“高度耦合且爆炸半径较大的架构,单点失败容易级联为更大范围中断”的模式问题。此次 5 月事故中的一个具体痛点是无法访问数据库备份:由于仪表盘和 API 同时离线,用户在事故窗口期内无法获取自己的数据。

这一架构教训并不局限于 Railway 本身。任何构建在单一超大规模云厂商账号之上的平台,无论是 GCP、AWS 还是 Azure,都存在一个共同风险:账号级自动化操作可能在同一时间导致全部系统失效。传统的多可用区(AZ)和多区域架构模式只能应对云厂商内部基础设施故障,但无法防范账号级别的暂停风险。Railway 计划中的改进方向,是让网状网彻底摆脱单一云依赖,使任何云不再位于数据路径的“热路径”上,从而应对这一类故障模式。

Railway 的状态页面持续跟踪该事件的恢复进展。公司表示,该事故报告“反映的是发布时已知信息,可能会在谷歌云平台内部审查后进一步更新”。

原文链接:Google Cloud Suspends Railway's Production Account, Causing Eight-Hour Platform-Wide Outage - InfoQ