2026-11-01 · 技術
快取命中率九成還是 502,問題常出在回源這一個動作上。中間源、連線複用、回源鑑權、分層快取,五個做法把源站壓力壓下來。
很多人看 CDN 後臺,快取命中率顯示九成以上,可源站依然時不時 502,連線數一到晚高峰就頂滿。問題往往不在命中率這個數字,而在回源這一個動作上:邊緣節點數量多,每個節點在快取未命中時都要自己去源站取一次,節點越多,回源請求越分散也越難收斂。 第一個做法是加一層中間源。讓邊緣節點只回源到固定的幾臺中間層伺服器,由中間層統一回源站,並在中間層做二次快取。這樣源站看到的回源 IP 是固定的幾個,連線數可控,快取也能多命中一次;代價是多一跳延遲,通常只有幾毫秒,對絕大多數站點可以接受。 第二個做法是回源連線複用與限速。回源鏈路開啟長連線,避免每個請求都重新握手;對單個邊緣節點到源站的併發回源數設上限,失敗時做指數退避重試,防止某個節點在源站抖動時把請求放大成雪崩。 第三個做法是回源鑑權。源站只放行 CDN 的回源 IP 段,並在回源請求裡帶上校驗頭,邊緣節點簽發、源站校驗。這一步能防止有人拿到源站 IP 後繞過 CDN 直接打源站,也是很多“CDN 明明開著還是被打掛”的真實原因。 第四個做法是分層快取。靜態資源用長快取加檔名或版本號重新整理,動態介面按業務容忍度設短快取,購物車、支付、使用者中心這類頁面明確不快取。快取策略寫清楚,比一味調大快取時間更有效。 第五個做法是把監控補齊。除了命中率,還要盯回源率、回源 QPS、回源頻寬和 5xx 比例,這四個指標比命中率更早暴露問題。 加速IDC 的 CDN 加速服務支援回源收斂與快取策略配置,配合東南亞多節點覆蓋,出海站點也能用同一套方式管理回源壓力。