作者 | 核子可乐 褚杏娟

扎克伯格个人财富一日蒸发逾 60 亿美元。

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

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

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

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

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 写道。

有专家估计,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 应该被分拆。

有道无术,术可成;有术无道,止于术

欢迎大家关注Java之道公众号

好文章,我在看❤️

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

  1. Facebook史上最严重宕机,全网宕机近七小时,到底是怎么回事?

    Facebook史上最严重宕机,全网宕机近七小时,高管赴推特道歉.近7个小时时间,全都挂了Facebook全网宕机,连内网都废了.Twitter成为了最大赢家.对一家互联网巨头来说,这样的状况实在太尴 ...

  2. 阿里云爆发史上最严重宕机事故。。。

    阿里云香港区于2022年12月18日出现故障,多个香港和澳门的网站受到影响,包括Linux中国的官网(https://linux.cn/).澳门金融管理局.澳门银河.莲花卫视.澳门水泥厂等关键基础设施 ...

  3. 酷开系统和鸿蒙,酷开电视史上最强刷机攻略

    原标题:酷开电视史上最强刷机攻略 史上最全的酷开智能电视刷机功率,酷粉们千万别错过!什么是"刷机"?就是重新安装智能电视内置操作系统,今天小编就为广大的酷开智能电视粉丝们汇总了一批 ...

  4. 译 | 缓存穿透问题导致Facebook史上最严重事故之一

    点击关注公众号,Java干货及时送达 How a Cache Stampede Caused One of Facebook's Biggest Outages 2010年9月23,这个世界上最大的社 ...

  5. 小米史上最“短命”旗舰机:年初发布,官网已正式下架

    12月1日,今年年初,小米官方宣布发布最后一款性价比手机--小米9.这部手机广受好评,并且一度形成一机难求的盛况,也被称作骁龙855标杆级别产品.不过近日,这款产品已经正式在小米官网下架,官网已经无法 ...

  6. GitHub历史上最糟糕宕机事故回放及反省

    http://www.csdn.net/article/2013-01-05/2813427-Github-Downtime-last-Saturday 摘要:距离今年9月份在两天内两次宕机仅间隔3个 ...

  7. 就鹿晗宣布恋情导致微博宕机事件浅谈大型网站高可用性架构

    中午吃饭刷着刷着微博发现微博突然挂了.我一开始以为是家里网不好,后来换了流量刷还是刷不出内容,并且报error,我就知道微博应该是挂了.往朋友圈一看,原来是鹿晗和关晓彤微博互圈"宣布恋情&q ...

  8. 从邮件服务器宕机谈企业邮箱选型之路

    [文章摘要]据报道,美国当地时间3月13日17 点30分左右,Outlook和Hotmail的用户开始反映无法登录邮箱,直至美国时间14日早上7点,历时17小时,部分用户的这两项服务才恢复正常.对于个 ...

  9. 从线上偶发的宕机事件看Netty流量控制

    业务背景 目前移动端的使用场景中会用到大量的消息推送,push消息可以帮助运营人员更高效地实现运营目标(比如给用户推送营销活动或者提醒APP新功能). 对于推送系统来说需要具备以下两个特性: 消息秒级 ...

最新文章

  1. Expo 快速开启之旅
  2. String类型转date
  3. idea下的调试配置
  4. 富交互Web应用中的撤销和前进
  5. 货店管理(delphi+sqlserver)
  6. oracle 日志切换太频繁,关于oracle日志切换的问题
  7. 计算机wps基础知识试题,计算机一级WPS考试试题及答案
  8. inur new.php id,Cmsez(随易)全站系统注入0day
  9. CentOS6.4安装Vbox增强包
  10. Android静态代码扫描效率优化与实践
  11. python识别简单训练模型_Python-OpenCV —— 物体识别(TrainCascadeClassification)
  12. 逆天的GPT-2居然还能写代码(但OpenAI却被无情吐槽)
  13. 推荐:年度巨献:《Ubuntu桌面生存指南》(作者:ghosert)
  14. IEEE论文模板(latex/word)
  15. 【C#】基础篇(3) C#实现串口助手,解决中文乱码
  16. python解析地址
  17. mysql的explain执行计划_MySQL之Explain(执行计划)
  18. 计算机学院志愿公益活动,计算机科学与技术学院志愿者走进“君子残疾人之家”...
  19. 【GANs学习笔记】目录
  20. 飞桨EasyDL闪退解决方法

热门文章

  1. 3.3栈与递归的实现
  2. mysql5.7.24 rpm安装_centos7下安装mysql5.7.24
  3. kbengine 的 nginx反向代理https/wss 配置 支持kbe负载均衡
  4. Ubuntu中的密钥环密码与登陆密码不同
  5. ajax加载对应的json,jQuery:多个AJAX/JSON请求对应单个回调并行加载
  6. python打字效果_Python学习之旅:用Python制作一个打字训练小工具
  7. 动态引入js只能生效一次_动态插入的script脚本执行时间
  8. oracle数据集成产品,甲骨文推出Oracle数据集成产品
  9. php 文本处理 库,处理文本的PHP库
  10. 十七、二分查找法(java)