Facebook 史上最严重宕机:互联网企业是时候重新审视架构了?

简介: 刚被指责“利用放大仇恨言论的算法谋取利益”没多久,Facebook 再次陷入危机。

作者:核子可乐、褚杏娟
美国东部时间 10 月 4 日上午 11 点 39 分左右,美国社交媒体 Facebook、Instagram 和即时通讯软件 WhatsApp 出现大规模宕机,此次宕机长达近 7 个小时,刷新了 Facebook 自 2008 年以来的最长宕机时长。

美国互联网监控网站 DownDectors 的监控情况显示,Facebook 在欧洲、美洲、大洋洲几乎是完全下线,在亚洲的日本、韩国、印度等国也无法访问。据悉,WhatsApp 和 Facebook Messenger 两款“微信”类即时通信产品,分别在全球范围拥有 20 亿用户和 13 亿用户,社交平台 Instagram 用户数也达到了 10 亿用户。

除了让数十亿用户陷入困境之外, Facebook 服务中断还使其员工无法使用内部工具相互交流。Facebook 的电子邮件和工具都是企业内部管理的,Facebook 很多员工也无法正常工作。

100e8ad14861221ff45438cb24e90604.png


Facebook 首席技术官 Mike Schroepfer 在推特上道歉

一条指令引发的“血案”

Facebook 表示,这次故障的根本原因是例行维护工作发出了一条糟糕的指令,结果导致其 DNS 服务器不可使用,切断了 Facebook 整个骨干网络与数据中心之间的连接。

所谓骨干网,是 Facebook 为一切计算设施构建而成的全局连接网络,由长达数万英里的光纤线缆组成,跨越全球并将各地的数据中心连接了起来。Facebook 基础设施副总裁 Santosh Janardhan 在文章中解释道,数据中心主要有两种形式,一种是存放着数百万台数据存储与高强度计算负载运行设备的“巨大的建筑”,另一种则属于小型设备,通过骨干网络接入整体互联网并构建起 Facebook 社交平台的方方面面。

当用户打开应用并加载摘要或消息时,应用提出的数据请求会由当前设备传输至最近的设施,之后再直接通过骨干网络与更大的数据中心进行通信。应用所需要的信息将在这些数据中心内进行检索与处理,再把结果通过网络发送回用户手机上。

维护基础设施的日常工作非常繁重。工程师们还经常需要让部分骨干网络离线以实施维护——包括修复光纤线路、扩大容量或者更新路由器自身软件等等。而这也是此次宕机事件的原因所在。

Janardhan 表示,在一项日常维护工作中,工程师们发出一条用于评估全球骨干网容量可用性的指令,但意外切断了骨干网络中的所有连接,这实质上就是断开了 Facebook 全球数据中心之间的连接。不幸的是,Facebook 的系统在设计上能够审查此类指令以防止出现错误,但其功能只是发出错误提示,并不能真正阻止指令执行。

这次意外,导致 Facebook 的数据中心与互联网之间的服务器连接完全断开,由此带来了一系列连锁效应让情况进一步恶化。

在此次宕机事件中,由于整个骨干网都已陷入瘫痪,因此各 DNS 服务器位置均上报连接状态问题并撤回边界网关协议(BGP)通告。最终结果是,Facebook 的 DNS 服务器虽然仍在运行但却无法正常访问,导致其他互联网用户也无法正常接入其服务器。

响应 DNS 查询是小型设施执行的一项重要任务。DNS 可以称之为互联网的地址簿,能够将用户在浏览器中输入的简单网络名称转换为特定的服务器 IP 地址。这些转换查询由 Facebook 的权威名称服务器给出应答,而这些服务器本身就占用着最众所周知的 IP 地址。接下来,这些服务器再通过边界网关协议(BGP)向互联网的其余部分发布通告。为了确保运行可靠性,如果 DNS 服务器自身无法与数据中心通信,则所有 BGP 通告都将被禁用,表示当前网络连接状态不正确。

简单来说,Facebook 拿走了告诉世界计算机如何找到其各种在线资产的地图。结果,当在 Web 浏览器中键入 Facebook.com 时,浏览器不知道在哪里可以找到 Facebook.com,因此返回到了错误页面。

为什么无法及时修复

为什么这次故障持续了近 7 个小时之久呢?

Janardhan 表示,工程师们在修复这一故障时,面临着两个巨大的障碍:首先,Facebook 的工程师们无法通过正常方式访问自己的 Facebook 数据中心,因为这时候骨干网已经出现了故障;其次,DNS 没有响应致使 Facebook 无法使用调查及解决宕机问题的常规内部工具。

骨干网与带外网络访问均出现故障,这意味着工程师只能亲自前往现场进行调试并尝试重启系统。但这需要时间,因为各处设施都遵循高水平的物理与系统安全保护政策。

错误的更新阻止了 Facebook 员工(其中大多数是远程工作)恢复和更改系统。与此同时,那些可以物理访问 Facebook 大楼的人无法访问 Facebook 的内部工具。

“任何人员都很难进入,而且一旦进入并获得物理访问能力,这些硬件与路由器的设计也很难得到修改。因此,需要更多的时间将工程师们引导进机房,并为他们提供在服务器上工作所需要的安全访问协议。只有这样,我们才能确认问题并让骨干网重新上线。”Janardhan 写道。

834b69bc4af3aefccd42b96f25c1da41.png

有专家估计,Facebook、Instagram、WhatsApp 全球服务中断一小时将给全球经济造成 1.6 亿美元的损失。同时,Facebook 当日股价盘中暴跌 6%,扎克伯格个人财富一日蒸发逾 60 亿美元。

屋漏偏逢连夜雨。在 Facebook 全球网络服务中断期间,据称在黑客论坛上有超过 15 亿 Facebook 用户的数据被出售。但 Facebook 方面否认了这次用户数据泄露与服务中断有关。

“我们要明确表示,这次宕机背后没有恶意活动,其根本原因是我们端的错误配置更改。我们也没有证据表明用户数据因此次停机而受到损害。”Janardhan说道。

架构缺陷

美国东部时间下午 6 点 33 分,Facebook 发推文称其应用程序和服务已开始恢复运行。随着各数据中心区域中的骨干网连接的恢复,一切都随之复原。但问题还没有真正结束。

一次性对所有服务全部重启会带来新的隐患,因为流量激增很可能导致新一轮崩溃。个别数据中心还上报称宕机导致设施耗电量下降了几十兆瓦,而突然上线带来的用电量暴增很可能给电气系统、缓存等各类装置带来意外冲击。

Janardhan 表示,虽然 Facebook 一直在做“风暴”演习,对服务、数据中心乃至整个区域进行脱机,并针对一切相关基础设施与软件开展压力测试以模拟主要系统故障,但并未演练过全球骨干网络脱机的状况,后续会找可行性方法作出应对。

据监测互联网流量和故障的思科 ThousandEyes 的产品营销主管 Angelique Medina 表示,这起事件暴露了 Facebook 架构的一个缺点:如果本身出现 DNS 故障,又没有后备 DNS,就可能会出现长时间的故障,“所以我认为,这件事带来的一大经验教训就是要有冗余 DNS。”

Medina 表示,一套更稳健的架构将拥有双 DNS 服务,那样一个 DNS 服务可以支援另一个。据 Medina 声称,比如说,亚马逊(其 AWS 提供 DNS 服务)为其 DNS 使用两项外部服务:Dyn 和 UltraDNS。

同时,这次宕机事件也让身处反垄断调查的 Facebook 雪上加霜。

美国国会众议院成员 Alexandria Ocasio-Cortez 表示,Facebook 爆发大规模宕机事故,这凸显出该公司在全球通信和其他服务领域的垄断地位。其在推特上表示,Facebook 周一发生的大规模宕机事故是对该公司垄断全球通讯和其他服务的一次提醒,再次表明 Facebook 应该被分拆。

目录
相关文章
|
1天前
|
Cloud Native 算法 程序员
代码与禅意:编程中的哲学思考构建未来:云原生架构在现代企业中的应用与挑战
【5月更文挑战第30天】 在数字世界的繁花似锦之下,编程不仅仅是一种技能,更是一场关于逻辑、美学和哲学的深刻对话。本文将探讨编程过程中所体现出的哲学理念,从禅宗的角度出发,揭示代码背后蕴含的深层次意义。我们将一同走进程序员的内心世界,体会在面对复杂问题时,如何通过冥想般的编码实践,达到问题解决的顿悟。
|
3天前
|
弹性计算 Cloud Native 安全
构建未来:云原生架构在现代企业中的应用与挑战构筑未来:云原生架构在企业数字化转型中的关键作用
【5月更文挑战第29天】 随着数字化转型的浪潮席卷全球,企业对IT基础设施的要求日益提高。云原生技术作为一种新兴的软件部署和运行方式,以其灵活性、可扩展性和资源高效性成为推动企业创新的重要力量。本文将深入探讨云原生架构的核心组件、实施策略以及在实际应用中所面临的挑战,旨在为企业提供构建和维护云原生环境的洞见。
|
3天前
|
弹性计算 运维 监控
【阿里云弹性计算】从物理机到阿里云ECS:企业IT架构转型升级之路
【5月更文挑战第29天】随着云计算兴起,企业正转向阿里云ECS以应对传统物理机的挑战。本文详述了这一转型过程,包括现状评估、迁移计划制定、测试环境搭建、应用数据迁移及后期监控优化。转型升级可提升资源利用率,降低运维成本,加快业务响应,并增强数据安全。示例代码展示了使用阿里云Python SDK创建ECS实例的过程。
22 1
|
4天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【5月更文挑战第27天】 随着数字化转型的深入,企业对信息技术基础设施的要求不断提高。云原生架构作为一种新兴的技术范式,以其灵活性、可扩展性和敏捷性成为推动企业技术革新的关键力量。本文旨在探讨云原生架构的核心组件、实施策略以及面临的主要挑战,为企业采纳云原生技术提供参考。
|
5天前
|
监控 Cloud Native 持续交付
构建未来:云原生架构在现代企业中的应用与挑战构建高效微服务架构:策略与实践
【5月更文挑战第27天】 随着数字化转型的深入,企业对技术的依赖日益增强。云原生技术以其灵活性、可扩展性和敏捷性成为推动企业IT架构现代化的关键力量。本文将探讨云原生架构的核心概念、实施策略以及在采纳过程中可能遇到的挑战。通过分析案例和最佳实践,旨在为读者提供如何在保持业务连续性的同时,利用云原生技术加速创新的见解。 【5月更文挑战第27天】 在当前软件开发的快速迭代和市场需求多变的背景下,微服务架构以其灵活性、可扩展性和容错性成为企业技术选型的热门。本文将探讨如何构建一个高效的微服务系统,包括关键的设计原则、常用的技术栈选择、以及实施过程中的最佳实践。我们将重点分析如何通过合理的服务划分、
|
5天前
|
运维 Cloud Native 持续交付
构建未来:云原生架构在现代企业中的应用
【5月更文挑战第27天】随着云计算的不断成熟和企业数字化转型的深入,云原生架构已成为推动业务敏捷性、可扩展性及运维效率的关键。本文将探讨云原生的核心组件,包括容器化、微服务、持续集成/持续部署(CI/CD)、以及无服务器计算,并分析如何利用这些技术构建一个高效、弹性和可维护的现代化应用平台。通过实际案例,我们将讨论企业在采纳云原生架构过程中面临的挑战与解决策略,以及这一转型对业务成长和竞争力提升所带来的潜在影响。
|
5天前
|
Cloud Native 安全 云计算
构建未来:云原生架构在现代企业中的应用与挑战
【5月更文挑战第27天】 随着数字化转型的浪潮席卷全球,云原生技术以其灵活性、可扩展性和敏捷性成为推动企业技术创新的关键力量。本文深入探讨了云原生架构的核心组件和运作机制,分析了其在提高业务效率、降低成本及支持快速迭代方面的显著优势。同时,针对企业在采纳云原生过程中可能遇到的安全、团队技能匹配等挑战进行剖析,并提出相应的解决策略。通过实际案例分析,文章旨在为读者提供一个关于如何有效利用云原生架构以赋能业务发展的清晰视角。
|
10月前
|
机器学习/深度学习 算法 决策智能
【重磅开源】Facebook开源 Nevergrad:一种用于无梯度优化的开源工具
【重磅开源】Facebook开源 Nevergrad:一种用于无梯度优化的开源工具
107 0
|
缓存 数据可视化 测试技术
开源多年后,Facebook这个调试工具,再登Github热门榜
让许多工程师合作开发大型应用大多会面临一个挑战,通常没有一个人知道每个模块是如何工作的,这种技能会让开发新功能、调查Bug或优化性能变得困难,为了解决这个问题,Facebook创建并开源了Flipper,一个可扩展的跨平台的调试工具,用来调试 iOS 和 Android 应用。近日又双叒登上了Github热榜。
|
前端开发 JavaScript 测试技术
Facebook 开源可扩展文本编辑器 Lexical
Meta(原 Facebook)近日开源可扩展文本编辑器 Lexical,源代码托管在 GitHub 上采用 MIT 许可证。
413 0
Facebook 开源可扩展文本编辑器 Lexical