大型高併發與高可用緩存架構總結3

緩存雪崩解決方案

redis集羣完全崩潰,緩存服務大量對redis的請求等待,佔用資源,隨後緩存服務大量的請求進入源頭服務去查詢DB,使DB壓力過大崩潰,此時對源頭服務的請求也大量等待佔用資源,緩存服務大量的資源所有耗費在訪問redis和源服務無果,最後使自身沒法提供服務,最終會致使整個網站崩潰。

事前的解決方案,搭建一套高可用架構的redis cluster集羣,主從架構、一主多從,一旦主節點宕機,從節點自動跟上,而且最好使用雙機房部署集羣。
事中的解決方案,部署一層ehcache緩存,在redis所有實現狀況下可以抗住部分壓力;對redis cluster的訪問作資源隔離,避免全部資源都等待,對redis cluster的訪問失敗時的狀況去部署對應的熔斷策略,部署redis cluster的降級策略;對源服務訪問的限流以及資源隔離
過後的解決方案:redis數據作了備份能夠直接恢復,重啓redis便可;redis數據完全失敗來或者數據過舊,能夠快速緩存預熱,而後讓redis從新啓動。而後因爲資源隔離的half-open策略發現redis已經可以正常訪問,那麼全部的請求將自動恢復。redis

相關文章
相關標籤/搜索