打开网易新闻 查看更多图片

六月初,全球各地数以亿计的互联网用户登陆自己平日经常登陆的网站时,发现页面无法打开,并出现了“503 Errors”的错误提示,包括亚马逊、Reddit、Twitch、Pinterest以及包括诸多门户网站在内的新闻网站均悉数中招。

1.Fastly引发的网络“地震”

造成这次事件的源头来自于Fastly,这是一家内容交付网络 (CDN) 提供商。你可能之前没有听说过Fastly,但你每次上网时都可能以某种方式与它互动。与 Cloudflare 和 Akamai 一起,它是世界上最大的 CDN 提供商之一。尽管 Fastly 一直对此次全球网络中断的具体故障含糊其辞,但这一事件清楚地提醒人们,互联网基础设施是多么脆弱和相互关联,尤其是当其中某些服务掌握在少数几家公司手里的时候。

Fastly这家公司创办于2011年,总部位于旧金山,从事的主要业务是互联网云服务。2017年,该公司发布了边缘云计算平台,提供将终端服务器的内容更近、更快地给到终端用户的服务。

简而言之,Fastly为服务器和终端用户之间搭建了一个中继站,让用户无需再从终端服务器上下载网络内容,而由Fastly事先预载一部分内容,当用户访问相应网站时,就无需再从远端的终端服务器上下载,而从Fastly处获得,提高终端用户获得互联网内容的效率。

Fastly的这一互联网内容传递服务,能够让网页的加载速度更快、优化图片、视频和其他大尺寸容量的内容能够更快的在用户终端上出现。在Fastly官方网站的介绍中,该公司列举了几个例子,例如新闻网站Buzzfeed在使用了Fastly的服务后,加载速度提高了50%,纽约时报在选民投票期间能够承载200万用户登陆等。

此外,边缘云计算(边缘云是分布在网络边缘侧,提供实时数据处理、分析决策的小规模云数据中心。)的另一个好处是:作为一道额外的防范黑客攻击的防火墙,最常见的DDoS攻击等,保障终端服务器不受攻击的影响。但同时带来的一个问题是,由于Fastly作为连接终端服务器和终端用户的桥梁,一旦这座“桥梁”发生问题,双方之间的连接也就断了,这正是6月8日全球数亿网络用户短暂无法登录网站的情况。目前对于这起故障到底如何发生的有关细节还不得而知,Fastly方面也仅给出了是因为进行一项“服务配置”的调试而引发的简单解释。

网络监控公司ThousandEyes的产品营销总监安吉莉卡▪梅迪纳说:“ CDN为内容提供了真正的高性能传输,无论是流媒体视频还是网站,还是当用户访问电子商务网站时弹出的各种繁杂的视窗。移动互联网时代,抓住用户需要提供更好的体验,比如减少加载时间,这比以前大家在PC上网上冲浪的需求更高。”

打开网易新闻 查看更多图片

Fastly网络地图表明,该公司在全球至少 58 个城市运营 POP,其中包括洛杉矶、伦敦和新加坡等人口稠密地区的多个城市。

2.CDN的重要性

近些年,CDN在互联网的扩张和发展中发挥了关键作用。CDN不仅仅将内容存储在更靠近需要它的设备的位置,还帮助指导互联网协调流量,”马萨诸塞大学阿默斯特分校的计算机科学家西塔琴师说,他作为Akamai的首席架构师,帮助创建过第一个主要的CDN。当初的构造初衷,就是为了当互联网上的某些链接出现故障或拥塞,CDN算法会迅速找到通往目的地的替代路线。

CDN原先是在频宽供应较为不足的时代出现,用作更快地加载网站中较为耗用数据的部分,如档案大小较大的图像。初期的CDN(如Akamai)建立了地区集线器,用作储存网站中所有图像的副本(缓存),使内容更接近在世界各地浏览互联网的人。

举个例子,在如此多入网点(PoP)存在的情况下,即使亚洲的用户在浏览欧洲服务器上的当红网站,他们的浏览器也可从附近载有媒体副本的CDN集线器获取有关图像。随着越来越多人访问互联网,以及频宽供应量有所增长,以网络为基础的站点和服务变得更丰富、更有能力,继而进一步增强了专用CDN的需求。

虽然人们很容易认为互联网是无定形的——他们甚至称之为“云”——你阅读的文章、你浏览的电影和歌曲、你发布的照片,它们都存在于物理服务器上。虽然该内容可能主要托管在云提供商上,仍然需要一种方法来快速有效地将其提供给人们,这就是 CDN 的用武之地。

随着移动互联网的崛起,CDN已逐步发展到可支持软件下载、加快手机内容的传送以及支持视频等更丰富的媒体内容。增建了这些成熟的网络和能力后,市场对加快用户体验的CDN需求更大,为 CDN行业增长提供了支持。

如今,顶尖的全球CDN供应商已准备投入数十亿美元扩展庞大的基础设施,以支持网络的增长,而他们可能需要考虑以下情况:到2022年,CDN预期将承担总互联网流量的72%。此外,除了现有的CDN供应商外,也会有越来越多的媒体和电信公司建立自己的CDN。

3.寡头网络服务商下的运营难题

三大CDN 提供商——Cloudflare、Akamai和Fastly几乎垄断了在线内容流

一般CDN会把媒体存储和回放设备放置于其网络的周边、互联网服务供应商(ISP)或在主要大城市区域的互联网交换中心(IXP),以更接近终端用户。这些设备是具有大存储容量和软件能力的实体盒子,有时又称微型数据中心。

例如流媒体之王Netflix在全球Open Connect CDN存放了数千个这样的盒子,每个盒子盛载了高达八成的Netflix媒体产品。这些盒子是定制设计的,由供应商组装后送到地区ISP和IXP进行安装。Netflix核心负责新内容的转码,并定期把更新推送到边缘设备。系统的负荷和故障情况受到持续监察,使失效设备可迅速脱机,并将容量转到其他冗余的PoP(内存单元与内存单元之间传送数据的指令)。

Fastly在一份声明中提到:“服务配置在全球范围内触发了POP中断,现已禁用该配置,全球网络正在重新上线。”这其中提到的“服务配置”,可以指任何数量的东西;根据Fastly的事件报告页面,除南极洲以外的每个大陆都感受到了影响。

即使在Fastly修复了根本问题之后,用户仍然可以看到较低的“缓存命中率”——即可以找到已存储在附近服务器中的内容的频率,以及增加的原始负载,但没有缓存中的项目返回源的过程。此外,缓存刷新操作频繁,提交缓存刷新请求后,CDN节点的缓存内容将会被强制过期。下次访问同样的URL时,CDN会回源拉取资源,从而导致命中率下降。

“理论上,网络宕机是数据存在大量冗余造成,”业内人士在谈到 CDN 时说。“如果一台服务器出现故障,其他服务器可能会接管负载。如果整个数据中心出现故障,负载可以转移到其他数据中心。如果一切正常,可能会遇到许多网络中断、数据中心问题和服务器故障;CDN 的弹性机制将确保用户永远不会看到降级。”当出现问题时,通常与软件错误或配置错误有关,这些错误或配置错误会同时推送到多个服务器。此外,使用 CDN 的站点和服务通常也有自己的冗余。

梅迪纳说,亚马逊方面大约花了20 分钟才恢复运行,因为它可以将流量转移到其他 CDN 提供商。但任何完全依赖Fastly的用户,或者没有适当的自动化系统来适应中断的公司,不得不等待更长的时间。安全公司Netscout的首席工程师罗兰·多宾斯建议:“每个拥有大量在线业务的企业都应该拥有多个CDN提供商,以避免出现这种情况。”

话虽如此,但目前作为用户的选择越来越有限,寡头效益盛行。正如云服务在很大程度上被亚马逊、谷歌和微软所主宰一样,三大CDN 提供商——Cloudflare、Akamai和Fastly几乎垄断了在线内容流,客户也不可能选用其他小型的网络服务公司。“服务提供商的选择非常集中,”梅迪纳说。“每当这三个提供商中的任何一个出现问题时,故障持续时间虽不长,但它会对整个互联网产生重大影响。”