乐趣区

关于facebook:Facebook宕机背后我们该如何及时发现DNS问题

简介:国庆期间,Facebook 及其旗下 Instagram 和 WhatsApp 等利用全网宕机,停机工夫将近 7 小时 5 分钟,Facebook 市值损失 643 亿美元。针对 Facebook 的宕机问题,咱们该如何防患未然,看看云拨测如何帮忙客户防止该类问题。

在咱们享受国庆假期的时候,大洋对岸的互联网世界却出了一件重大“事变”:Facebook 及其旗下 Instagram 和 WhatsApp 等利用全网宕机,停机工夫将近 7 小时 5 分钟,浏览器在尝试关上时显示 DNS 谬误。这对于旗下利用群月活和日活高达 35.1 亿和 27.6 亿的 Facebook 而言,堪称损失惨重。据投资机构预计,7 小时宕机导致超过 9.68 亿美元影响老本。并间接让 Facebook 市值损失 643 亿美元,其创始人马克·扎克伯格净资产蒸发 70 亿美元。

Facebook 示意,故障根本原因是例行保护工作出了问题,协调数据中心之间网络流量的骨干路由器配置变动,继而导致其 DNS 服务器产生问题并以致外部工具和零碎被敞开,运维人员无奈近程拜访设施以便复原网络。因而,运维人员不得不进入有着流程措施严格的数据中心进行人工重启。因而,MTTR 被重大拖长。

一句话总结,一条蹩脚的命令、一款有缺点的审核工具、一套妨碍胜利复原网络的 DNS 零碎以及繁琐的数据中心流程,独特导致了 Facebook 长达 7 个小时的重大故障。

具体而言,运维人员对骨干网络的一部分进行断网保护。例行保护的一部分就是评估寰球骨干网容量的可用性,但无意间中断开了骨干网络所有连贯,也断开了 Facebook 寰球数据中心的连贯。与此同时,因为 Facebook 的架构设计是依据服务器可用性来扩大或缩减 DNS 服务。当服务器可用性因网络故障而降至零时,就会停用所有 DNS 服务器。主动响应骨干网解体仿佛成为导致 DNS 瘫痪的起因。这种停用通过 Facebook 的 DNS 名称服务器向互联网边界网关协定(BGP)路由器发送音讯来实现的,这些路由器存储用来到达特定 IP 地址的路由方面的信息。这些路由通常被布告给路由器,让路由器理解如何适当地疏导流量。

Facebook 的 DNS 服务器发送的 BGP 音讯禁用了布告给路由,因而无奈将流量解析成 Facebook 骨干网络上的任何对应内容。最终后果就是,即便 DNS 服务器仍在运行,也拜访不了,用户也会因试图拜访的网络解体而失落服务。更可怜的是,DNS 服务用于面向客户的网站,还将其用于本人的外部工具和零碎。

看到这里咱们会发现,DNS 在这其中扮演着重要的角色,那么 DNS 又是什么?DNS 即 Domain Name System 的缩写,域名零碎以分布式数据库的模式将域名和 IP 地址互相映射。简略的说,DNS 是用来解析域名的,在失常环境下,用户的每一个上网申请会通过 DNS 解析指向到与之相匹配的 IP 地址,从而实现一次上网行为。DNS 作为应用层协定,次要是为其余应用层协定工作的,包含不限于 HTTP 和 SMTP 以及 FTP,用于将用户提供的主机名解析为 IP 地址,具体过程如下:

(1)用户主机(PC 端或手机端)上运行着 DNS 的客户端;
(2)浏览器将接管到的 URL 中抽取出域名字段,就是拜访的主机名,比方 http://www.aliyun.com/ , 并将这个主机名传送给 DNS 利用的客户端;
(3)DNS 客户机端向 DNS 服务器端发送一份查问报文,报文中蕴含着要拜访的主机名字段(两头包含一些列缓存查问以及分布式 DNS 集群的工作);
(4)该 DNS 客户机最终会收到一份答复报文,其中蕴含有该主机名对应的 IP 地址;
(5)一旦该浏览器收到来自 DNS 的 IP 地址,就能够向该 IP 地址定位的 HTTP 服务器发动 TCP 连贯。

Facebook 此次宕机继续近 7 小时影响了约 8500 万用户,是自 2008 年以来最重大的一次。作为旁观者回顾这次故障,咱们会发现一个十分要害的问题点:但据理解,当日一直有用户反映,Facebook 旗下 Facebook、挪动聊天服务 Messenger 和 WhatsApp、图片社交服务 Instagram 等四大社交平台网站和利用均产生响应服务器谬误,导致无奈刷新。Facebook 在欧洲、美洲、大洋洲简直齐全下线,在亚洲的日本、韩国、印度等国也无法访问,影响到寰球数十个国家和地区用户。仿佛 Facebook 仿佛并没有在第一工夫发现这些问题。只在寰球多个国家和地区用户进行反馈后才发现了问题。

即便是宏大如 Facebook 这样的企业,也没有在第一工夫发现 DNS 故障,并蒙受重大的经济损失。将心比心的面对这样故障,咱们该如何第一工夫发现并监控产品以及 DNS 的运行状况?并且及时理解寰球不同国家和地区的用户应用状况?

纵观各类 APM 产品,无侵入的云拨测成为最佳的解决方案。阿里云拨测通过遍布寰球的 1000+ 监测点,包含实在用户监测,全天候 24 小时对指标域名发动网络申请,帮忙用户监测 DNS 服务对可用性和解析性能,同时 DNS 拨测反对指定递归、迭代不同查问形式以及解析服务器,通过灵便的拨测参数配置尽可能模仿实在用户的拜访。

通过定时的拨测工作,阿里云拨测能够生成不同地区的 DNS 解析用时的报表,同时针对每次拨测都清晰的列出 DNS 申请对详情,包含 A 地址、DNS 用时、DNS 解析过程等,能给帮忙用户疾速剖析和定位 DNS 解析的问题。

另外通过配置 DNS 告警,针对于 DNS 的可用性问题和解析性能问题,也能够先于用户感知并问问题的修复争取时间,进步用户的满意度,升高经济损失。

原文链接
本文为阿里云原创内容,未经容许不得转载。

退出移动版