非常抱歉,今天下午2點左右開始,博客站點突然猛增的巨量請求讓k8s集群的節點服務器不堪重負,造成網站無法正常訪問,由此給您帶來麻煩,請您諒解。
當時k8s集群一共6台node服務器,2台32核64G,2台8核64G,1台8核16G,1台4核6G,博客站點一共跑了19個pod,如果不是突然猛增的巨量請求,可以穩穩撐住。
但是今天下午的請求排山倒海,比昨天還要高(昨天GA統計的UV超過1000萬,其中有很多異常請求),服務器CPU們拼盡全力也無法扛住,最終兵敗如山倒。
發現故障后,我們開始加服務器,一共加了5台服務器(2台8核64G,1台16核64G,2台4核8G),並逐步將 pod 切換到新加的服務器。
剛剛熱身並完成健康檢查的 pod 們從未經受如此的高並發考驗,切換后剛上戰場就倒下的情況頻頻出現,所以,雖然加了足夠的服務器,但恢復正常需要一個過程,一邊要等新 pod 撐住,一邊發現體力不支的舊 pod 並強制結束,直到 15:30 之后才逐漸恢復正常。
經過初步分析,這些突增的請求多數是非正常用戶的請求,這樣的請求沒有訪問熱點,每次請求的 url 不一樣,讓緩存有力使不上。
這次故障就向大家簡單匯報到這。
這次的請求量增幅是我們之前從未遇到過的,我們毫無准備,而且目前k8s集群還沒實現自動伸縮,我們還需要時間去准備。