故障現象
沒有新應用發佈,但是數據庫服務器突然Load飆升,並很快失去響應。DBA將數據庫訪問切換到備機,Load也很快飆升,並失去響應。最終引發網站全部癱瘓。
原因分析
緩存服務器在網站服務器集羣中的地位一直比較低,服務器配置和管理級別都比其他服務器要低一些。人們都認爲緩存是改善性能的手段,丟失一些緩存也沒什麼問題,有時候關閉一兩臺緩存服務器也確實對應用沒有明顯影響,所以長期疏於管理緩存服務器。結果這次一個缺乏經驗的工程師關閉了緩存服務器集羣中全部的十幾臺Memcached服務器,導致了網站全部癱瘓的重大事故。
經驗教訓
- 當緩存已經不僅僅是改善性能,而是成爲網站架構不可或缺的一部分時,對緩存的管理就需要提高到和其他服務器一樣的級別。