连知名服务也会宕机

"服务器崩溃了""网站挂了",你经常在新闻中听到这些话,但实际上发生了什么?即使是世界上最大的服务也无法避免故障。而且原因往往出人意料地平凡。

著名的服务故障事件

Facebook 6 小时宕机(2021 年 10 月)

Facebook、Instagram 和 WhatsApp 完全离线约 6 小时。原因是 BGP 配置错误。一名 Facebook 工程师在修改路由设置时,意外撤回了公司所有的 BGP 路由。

结果,Facebook 的网络从互联网上"消失"了,DNS 域名解析也停止工作。更糟糕的是,由于所有内部工具也托管在 Facebook 的网络上,工程师们失去了访问和修复问题的手段。最终,他们不得不亲自前往数据中心手动恢复服务器。

AWS 重大故障(2017 年 2 月)

Amazon Web Services 的 S3(存储服务)宕机约 4 小时,影响了 Netflix、Slack、Trello 等众多服务。原因是一名工程师在调试时输错了命令,关闭了比预期更多的服务器。

这次故障的讽刺之处在于,AWS 自己的状态页面也托管在 S3 上,所以他们无法显示故障信息。

Cloudflare 故障(2022 年 6 月)

被全球约 20% 网站使用的 CDN 服务 Cloudflare 发生故障,影响了 Discord、Shopify、Fitbit 等众多服务。原因是网络配置变更触发了意外的连锁反应。

Google 47 分钟全面服务中断(2020 年 12 月)

几乎所有 Google 服务,Gmail、YouTube、Google Drive、Google Maps 等,宕机约 47 分钟。原因是认证系统的存储容量耗尽。所有需要登录的服务都受到了影响。

网站宕机的主要原因

  • 流量激增(过载):热门票务开售、促销活动或突发新闻带来的访问量激增超过了服务器的处理能力
  • 配置错误(人为失误):工程师失误导致的故障极为常见。Facebook BGP 事件和 AWS S3 事件都是人为失误
  • 软件 Bug:更新中包含的 Bug 在生产环境中被发现
  • DDoS 攻击:故意向服务器发送大量流量使其瘫痪的攻击
  • DNS 故障:当 DNS 崩溃时,即使服务器本身正常运行,用户也无法访问网站
  • 证书过期:当 HTTPS 证书过期时,浏览器会显示警告并阻止访问
  • 物理故障:数据中心停电、冷却系统故障、海底光缆切断

如何检查网站是否"宕机"了

当你无法访问某个网站时,有方法可以判断是你的连接问题还是网站的问题。

  • Down Detector:实时汇总全球用户故障报告的网站
  • isitdown.site:从全球各地检查指定 URL 是否可访问的网站
  • IP 确认酱:首先验证你自己的互联网连接是否正常。如果显示了 IP 地址,说明你的连接没问题
  • 从不同设备或网络尝试:尝试通过智能手机的移动数据连接访问

总结

即使是世界上最大的服务,也可能因为一个配置失误而宕机数小时。网站故障的原因从流量激增、人为失误到 DDoS 攻击和 DNS 故障不等。下次无法访问某个网站时,先在 IP 确认酱上检查你的连接,然后在 Down Detector 上查看网站端的故障信息。

本文相关术语

DNS DNS 故障即使服务器正常也会导致网站无法访问。2021 年 Facebook 故障的主要原因。 BGP BGP 配置错误导致 Facebook 的整个网络"消失"。 IP 地址 检查网站是否宕机的第一步是验证你自己的 IP 地址能否正常获取。 HTTPS 证书过期是一个出人意料地常见的网站故障原因。