So!azy

互联网的脆弱时刻

gareth-harrison-NVfFTw2eCpY-unsplash

北京时间的今天晚上,Cloudflare 突然遭遇了大规模宕机。如果不出现意外,这次事故的波及范围之广、持续时间之长,大概率会被写进互联网运维的教科书里,成为「载入史册」的负面案例。

原本今晚的计划是如常更新日更博客,但当我习惯性地打开编辑器页面时,迎接我的并不是熟悉的界面,而是一串冰冷的报错代码。排查了一圈,本地网络一切正常,托管博客的 Bearblog 平台也没有发布故障公告,唯独套在最外层的 Cloudflare 彻底罢工了。

看着浏览器上那个标志性的连接错误图标,我脑海里立刻浮现出之前写过的那篇《互联网服务终究不可托付》。其实把时间轴拉长来看,这种无力感并不新鲜。我们不得不承认一个事实:在这个星球上,没有任何一个服务商是绝对可靠的。无论它的市值是几千亿还是几万亿,无论它标榜的服务等级协议后面有多少个 9,物理世界的熵增定律和系统架构的复杂性终究会教做人。

说到这里,我们不妨看看这两年里,那些被我们视为「互联网基础设施」的巨头们都发生了什么:

很多时候,我们产生「互联网很稳定」的错觉,是因为我们把鸡蛋放在了不同的篮子里。但像 Cloudflare 这样的 CDN 和安全服务商,本质上已经成为了互联网的「单一故障点」。当它发生故障时,不再是某一个网站打不开,而是你日常访问的半个互联网可能瞬间消失。

这引发了一个更深层的思考:我们为了便利,出让了太多的控制权。

在 Web 1.0 时代,我们哪怕在物理机上跑一个 httpd 服务,只要电缆没断,服务大概率就在。而现在,一个简单的博客请求,可能要经过 DNS 解析、边缘节点缓存、WAF 过滤、源站处理、数据库查询。每一个环节都是一个黑盒,每一个黑盒都掌握在不同的巨头手中。我们以为自己拥有数据,但实际上我们只是拥有了「在服务商不出错时访问数据」的权利。

这次宕机也是一个提醒。像我这种仅仅部署了寥寥几个服务的边缘用户,都要被迫停摆,那些真正跑在云端的商业业务,以及那些承载了庞大流量的企业,此刻面临的恐怕是更加焦头烂额的局面。我们引入 CDN 和各种云服务本是为了更快、更安全,但当这层原本用来抵御风浪的保护壳自己先塌了的时候,事情就变得有些荒诞。

#daily