logo

Cloudflare 是什么?为什么它会大宕机?

简单介绍 Cloudflare 的功能、与其他服务的比较,以及最近大宕机的原因。

Kyle ChungKyle Chung

什么是 Cloudflare?

简单来说,Cloudflare 就是网站与访客之间的“中间人”。

当你访问一个使用 Cloudflare 的网站时,你的连接流量通常会先经过 Cloudflare 的网络,才到达目标网站。

这个过程带来了安全性、速度和稳定性。

你可以把它想象成网站和应用程序的:

  • 保安人员(阻挡坏人)
  • 交通指挥官(引导流量)
  • 速度加速器(优化加载)
  • 全球物流系统(内容分发)

Cloudflare 如何影响我们的日常生活?

即使你从未直接使用过它,你其实每天都在与 Cloudflare 互动,因为:

1. 它可以帮助网站加载更快

购物网站、新闻媒体、游戏、博客——许多都运行在 Cloudflare 的 CDN(内容分发网络)之上。

2. 它可以让宕机变少了(?)

当一个网站流量过大时,Cloudflare 会协助吸收多余的流量,避免服务器崩溃。

3. 它可以协助更安全的浏览体验

防止你最爱的应用程序和网站被黑客攻击。

4. 它可以保护隐私

知名的 1.1.1.1 DNS 应用程序能保护你的 DNS 查询记录不被追踪。

5. 在高流量活动时提供更好的体验

例如演唱会抢票、重大商品发售或是近期美国的黑色星期五(Black Friday)购物节。

这类网站经常使用 Cloudflare 请它负责让网站保持稳定。

6. 减少网络拥塞

通过在离用户更近的地方缓存(Caching)数据,降低全球带宽的消耗。


Cloudflare 提供哪些主要服务?与替代方案的比较

我们比较了高性能、低维护成本和成本效益,并选出了以下的“最佳选择”。


Cloudflare vs. 商业对手 vs. 开源方案

TL;DR

  1. 赢在“边缘”与“防御”: CF (Cloudflare) 赢在 CDN、DNS、WAF、DDoS 防护及机器人管理等“面对公共网络”的基础设施上。Cloudflare 凭借其庞大的全球网络效应,提供了比 AWS 更低廉(甚至免费)的成本,以及比自托管方案(Open Source)更省心且强大的防护力。它是大多数 Web 应用的默认最佳选择
  2. CF 输在“特定深度需求”: 它并非所有场景的冠军。当涉及到成本极敏感的大量存储(自托管 MinIO 胜)、纯粹的内网穿透(Tailscale 更直觉)、长时间运算(AWS Lambda 胜)或是单机负载均衡(NGINX 胜)时,针对性的开源工具或传统云端服务反而更具优势。

💡 最佳架构策略:“外层用 Cloudflare,内层选专用武器。” 把流量加速、安全防御交给 Cloudflare 处理;把数据存储、内部连接留给 MinIO、Tailscale 或 NGINX 等专用工具,这是在性能、成本与维护难度上最平衡的现代化架构。

服务项目主要 TO B 对手开源 / 自托管方案🏆 最佳选择 & 原因
1. CDN (内容分发)AWS CloudFrontVarnish CacheCloudflare。 几乎零配置即可启用,且免费方案非常大方。AWS CloudFront 配置复杂,而 Varnish 需要自己管理硬件。
2. DDoS 防护AWS ShieldHAProxy (速率限制)Cloudflare。 它提供不计量(Unmetered)的缓解服务(固定费率或免费)。AWS Shield Advanced 非常昂贵(起步价 $3,000 美元/月),而自托管方案通常在你的服务器挂掉之前,网络带宽就先被塞爆了。
3. WAF (防火墙)AWS WAFModSecurityCloudflare。 规则会根据全球威胁自动更新。ModSecurity 需要持续手动调校以避免误判,而 AWS 则是按规则/请求数收费。
4. DNS 服务AWS Route53BINDCloudflare。 经独立评测,它是客观上全球最快的 DNS,且极度重视隐私。Route53 很棒,但速度较慢。
5. 零信任 (Zero Trust)ZscalerWireGuard / TailscaleTailscale (基于开源) 或 Cloudflare。 如果要纯粹取代 VPN,基于 WireGuard 的 Tailscale 最简单。如果要不改代码就保护 Web 应用,Cloudflare Access 是赢家。
6. 负载均衡AWS ELBNGINX视范围而定。 NGINX 是单一数据中心内(本地)流量平衡的王者。Cloudflare 则是不同国家间(全球)流量平衡的赢家。
7. Workers (边缘运算)AWS LambdaOpenFaaSCloudflare Workers。 对于高流量/低延迟的任务,Cloudflare 因 **0ms 冷启动(Cold starts)**和较低成本获胜。AWS Lambda 仅在你需要长执行时间(如 >30 秒)时较佳。
8. R2 存储AWS S3MinIO在 Zeabur 上架设 MinIO 是最佳选择,价格上一定比 R2 有优势(因为自托管),性能上差别也不大。
9. 机器人管理DataDomeCrowdSecCloudflare。 因为 Cloudflare 掌握了全球约 20% 的网络流量,他们能在他处发现机器人后,瞬间在你的网站上封锁它,这是小型开源清单无法比拟的。

所以你可以看到 Cloudflare 在我们生活中的重要性。 但你也许经历了几天前发生的网络大宕机......

为什么几天前会发生网络大宕机?

这里是长话短说(简短版):

不是网络攻击,而是一次因数据库更新导致的内部软件错误

想象你有一个背包,严格规定只能装 10 本书。但 Cloudflare 意外地试图塞进 20 本书。结果背包被撑破了,所有的书散落一地,导致系统崩溃。

我们的创始人 Yuanlin 在 Cloudflare 宕机当下所做的解释。


那个 "GG" 的时刻:到底是什么搞挂了 Cloudflare?

如果你好奇为什么最近半个互联网——包括像 Zeabur 这样的平台——都跌了一大跤,我们终于看到了关于 Cloudflare 自 2019 年以来最严重宕机事件的事后复盘报告。

剧透警告:这不是黑客干的;这是例行清理维护时的一个“无心插柳柳成荫”的失误。

简单来说,Cloudflare 工程师当时正试图优化其机器人管理服务(Bot Management)的数据库权限(具体来说是在 ClickHouse 内)。这听起来像是周二早上的无聊任务,但这个变更产生了灾难性的反效果。它导致系统产生了一个“超级巨大”的配置文件——这个文件肥大到 Cloudflare 的边缘服务器(Edge Servers)物理上无法处理。

混乱的部分来了: 这个坏掉的文件不只出现一次。系统每 5 分钟就会产生并将这个巨大文件同步到全球的数据中心。服务器一收到文件,其核心 CDN 服务就会立刻崩溃(或者引用消息来源的精辟说法:“直接 GG”)。

因为崩溃是发生在这个精准的 5 分钟循环上——运作正常、然后崩溃、然后又运作——监控图表看起来非常不规律。这完全骗过了 Cloudflare 团队。他们在宕机初期的时间都花在寻找 DDoS 攻击的迹象,因为症状看起来跟遭遇洪水般的恶意流量一模一样。

多米诺效应(Ripple Effect): 损害范围非常广泛。举例来说,Zeabur(一个部署平台)挂了,因为他们自己的后端 API 依赖 Cloudflare 进行保护和加速。但这是双重打击(Double-whammy):即使是 Zeabur 依赖的上游服务(例如他们的电子邮件供应商 Resend),同样也在使用 Cloudflare 并且也被打离线了。这就是典型的多米诺效应,全由一个糟糕的数据库配置文件所引发。

→ 这就是为什么这次宕机对全世界来说都是件大事。


🔎 一句话总结

Cloudflare 是互联网背后巨大的隐形基础设施,它让网站更快、更安全、更稳定,直接改善了你的日常上网体验,而你甚至没有察觉。

我真心希望不要再发生这种由相同错误引起的大规模宕机了(QQ)。