CDN如何设置权重主备源?配置方法与负载均衡指南
深夜調試CDN配置時接到客戶電話,源站突然掛了但流量居然沒切到備用源,整個團隊手忙腳亂搶修。這已經是今年第三次因權重配置失誤引發故障,今天乾脆把十年踩坑經驗攤開講透。
權重主備源不是簡單掛兩個IP就完事。去年某電商大促,工程師把主源權重設到90,結果備用源健康檢查延遲5秒,當主源瞬間湧入十倍流量時,備用源根本來不及接管。真正可靠的配置要像剝洋蔥分三層:第一層用權重做流量分流,主源設70%但必須搭配毫秒級健康檢查;第二層設置備用源集群,至少分散在三家不同供應商;最關鍵的第三層是故障轉移觸發機制,必須能根據響應碼、TCP連接時間、甚至業務邏輯報錯來判斷。
實戰中見過太多配置陷阱。某客戶用Cloudflare的Load Balancing,以為設了權重就高枕無憂,結果備用源站在日本卻忘了開BGP Anycast,用戶連過去延遲飆到300ms。還有更隱蔽的——當主源返回403錯誤碼時,多數CDN預設不會切換源站,必須手動配置異常狀態碼觸發轉移。
附上兩套經過血淚驗證的配置模板(以Nginx + AWS CloudFront為例):
在CloudFront行為規則裡更狠:當連續5個請求響應時間>800ms或錯誤率>25%,自動切換到備用源站組,並設置10分鐘冷卻期防止來回震盪。
高階玩家一定要監控源站真實質量。曾經有客戶主源站在阿里雲,備用源在Azure,結果某天阿里雲骨幹網抖動,CDN節點到主源的TCP握手還是成功的,但實際傳輸速度掉到10KB/s。後來我們在源站部署輕量探針,每5秒上報到監控平台,CDN據此動態調整權重,這才徹底解決問題。
最後的保命建議:每個月做一次\”殺死主源\”演練。直接斷電主數據中心,觀察備用源承接流量時的數據庫連接池、SSL握手性能、甚至證書鏈校驗是否會崩潰。畢竟當真故障發生時,備用源往往會暴露出你意想不到的依賴項。
評論: