Cloudflare 的聯合創始人兼首席執行官 Matthew Prince 在週二晚間發佈了一篇博文,詳細說明了造成其自 2019 年以來最嚴重的故障的原因。問題出在其 Bot Management 系統,該系統負責控制哪些自動爬蟲可以使用其 CDN 來掃描特定網站。
Cloudflare 去年表示,約 20% 的網站流量經由其網絡運行,旨在分擔流量負擔,以便在面對流量激增和 DDoS 攻擊時保持網站的正常運作。然而,今天的故障使許多網站斷線,影響了包括 X、ChatGPT 及知名的故障追蹤器 Downdetector 在內的多個平台,這種情況類似於近期由 Microsoft Azure 和 Amazon Web Services 問題引發的故障。
Cloudflare 的爬蟲控制系統應能有效處理爬蟲抓取信息以訓練生成式 AI 的問題。它最近還宣布了一種使用生成式 AI 建立的系統,名為 “AI Labyrinth”,這是一種新的緩解方法,利用 AI 生成的內容來減慢、混淆以及浪費不遵循「不爬取」指令的 AI 爬蟲及其他機器人的資源。
不過,Prince 表示,今天的問題是由於數據庫權限系統的變更,而非生成式 AI 技術、DNS 或 Cloudflare 最初懷疑的網絡攻擊或惡意活動,如「超大規模 DDoS 攻擊」。根據 Prince 的說法,Bot Management 背後的機器學習模型生成的爬蟲分數依賴於經常更新的配置文件來識別自動請求;然而,「我們的 ClickHouse 查詢行為的變更導致該文件生成了大量重複的『特徵』行。」
博文中對接下來發生的情況提供了更多細節,但查詢的變更導致 ClickHouse 數據庫生成了重複的信息。隨著配置文件迅速增長超過預設的內存限制,這使得「處理我們客戶流量的核心代理系統」崩潰,任何依賴於爬蟲模塊的流量都受到了影響。
結果,使用 Cloudflare 規則來阻止特定爬蟲的公司出現了錯誤的正面結果,切斷了真實流量,而沒有在其規則中使用生成的爬蟲分數的 Cloudflare 客戶則保持在線。為了防止此類問題再次發生,Cloudflare 列出了四個具體計劃,即使互聯網服務的集中化可能使這些故障變得不可避免:
| 計劃 | 詳細內容 |
|---|---|
| 加強 Cloudflare 生成的配置文件的處理 | 以用戶生成輸入相同的方式進行強化 |
| 啟用更多全局關閉開關 | 針對功能的全局關閉開關 |
| 消除核心轉儲或其他錯誤報告的系統資源超載 | 避免資源被錯誤報告壓垮 |
| 檢討所有核心代理模塊的錯誤狀態 | 全面檢視錯誤狀況的失效模式 |




