在對社群反饋做出快速響應的顯著表現中,Cloudflare 宣佈為其免費賬戶實施零停機故障轉移功能,這是在一位開發者對 Round Robin DNS 行為進行詳細調查後做出的決定。
初始發現
這場討論始於一位開發者釋出了關於不同平臺上 Round Robin DNS 實現方式的調查結果,特別指出了 Cloudflare 服務中的一個令人擔憂的行為。調查顯示,與現代瀏覽器和 curl 的直接 DNS 實現不同,Cloudflare 的免費版本會繼續嘗試連線離線伺服器,而不是切換到可用的備選伺服器。
![]() |
---|
一篇解釋輪詢式 DNS 及其對伺服器效能影響的資訊文章 |
迅速的企業響應
這個故事特別值得注意的是 Cloudflare 的反應。在討論開始獲得關注的幾小時內,Cloudflare 的 CEO Matthew Prince(網名 eastdakota)和 CTO John Graham-Cumming 都直接參與到社群討論中。最初,對於這種行為是否與會話親和性有關存在一些混淆,但進一步調查顯示這實際上是付費計劃和免費計劃之間的差異。
技術實現細節
最初的調查突出顯示了不同客戶端如何處理 Round Robin DNS:
- 瀏覽器 :Chrome 和 Firefox 隨機選擇伺服器並保持連線,而 Safari 則始終選擇最近的伺服器
- curl :在兩次嘗試後正確識別並使用最近的可用伺服器
- Cloudflare(修復前) :會根據客戶端 IP 固定使用單個伺服器,即使該伺服器離線
![]() |
---|
展示與輪詢 DNS 行為相關的 Nginx 伺服器配置程式碼片段 |
修復方案
John Graham-Cumming 宣佈 Cloudflare 正在推出更改,在免費賬戶上實施零停機故障轉移,有效消除了這一關鍵可靠性功能在付費和免費版本之間的區別。這一變更意味著當伺服器不可用時,免費版使用者現在將享受與付費使用者相同的故障轉移行為。
行業背景
這次討論揭示了關於 DNS Round Robin 實現的更廣泛見解:
- 它不是真正的負載均衡器替代品
- 不同客戶端對 DNS TTL(生存時間)的處理方式不一致
- 一些遺留系統,特別是較舊的 Java 實現,存在眾所周知的 DNS 快取問題
- HTTPS 和 SVCB DNS 記錄等現代替代方案正在成為更復雜的解決方案
未來影響
這一事件展示了基於 DNS 的負載分配和故障轉移策略的演進性質。雖然 Round Robin DNS 在特定用例中仍然是有用的工具,但業界正在向 Anycast IP 定址和現代 DNS 記錄型別等更復雜的解決方案發展,這些方案能夠更好地控制流量分配和故障轉移行為。
Cloudflare 的快速響應和透明度也為科技公司如何參與和回應社群反饋樹立了積極的先例,將可能的批評轉變為服務改進的機會。
![]() |
---|
對 DNS 負載分配和伺服器響應策略的創新解決方案分析 |