Hystrix学习——(2)雪崩效应
生活随笔
收集整理的這篇文章主要介紹了
Hystrix学习——(2)雪崩效应
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 在IO型服務中,假設服務A依賴服務B和服務C,而B服務和C服務有可能繼續依賴其他的服務,
- 繼續下去會使得調用鏈路過長,技術上稱1->N扇出。
- 如下圖
如果在A的鏈路上某個或幾個被調用的子服務不可用或延遲較高,則會導致調用A服務的請求被堵住。?
堵住的請求會消耗占用掉系統的線程、io等資源,當該類請求越來越多,占用的計算機資源越來越多的時候,會導致系統瓶頸出現,造成其他的請求同樣不可用,最終導致業務系統崩潰,又稱:雪崩效應。
正常情況下的訪問?
用戶請求的多個服務(A,H,I,P)均能正常訪問并返回。
發生阻塞時?
當請求的服務中出現無法訪問、異常、超時等問題時(圖中的I),那么用戶的請求將會被阻塞。
雪崩發生時?
如果多個用戶的請求中,都存在無法訪問的服務,那么他們都將陷入阻塞的狀態中。
舉例來說,一個汽車生產線,生產不同的汽車,需要使用不同的零件,如果某個零件因為種種原因無法使用,那么就會造成整臺車無法裝配,陷入等待零件的狀態,直到零件到位,才能繼續組裝。?
此時如果有很多個車型都需要這個零件,那么整個工廠都將陷入等待的狀態,導致所有生產都陷入癱瘓。一個零件的波及范圍不斷擴大。
造成雪崩效應的原因
1.硬件故障?
2.負載過大(如:搶紅包,雙十一)?
3.代碼問題
Hystrix就是為了解決上述問題。?
Hystrix提供了熔斷模式和隔離模式來解決或者緩解雪崩效應。?
這兩種方案都屬于阻塞發生之后的應對策略,而非預防性策略(例如限流模式)。
Hystrix是在服務訪問失敗時降低阻塞的影響范圍,避免整個服務被拖垮。
總結
以上是生活随笔為你收集整理的Hystrix学习——(2)雪崩效应的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为服务器怎么连接显示器,华为MateB
- 下一篇: SteamAPI