之八 2流高手速成記:基于Sentinel實現微服務體系下的限流與熔斷( 三 )


降級規則第四項【降級規則】對應了本節標題中的【熔斷】

之八 2流高手速成記:基于Sentinel實現微服務體系下的限流與熔斷

文章插圖
所謂“熔斷”,其實最早這個概念來源于家庭電路中的保險絲,當家庭中的某件家用電器功率異常,或者某處電路出現短路,
為防止電流過大造成更大的損失,此刻保險絲即會【熔斷】,造成我們日常所說的“掉閘”
熔斷策略
慢調用比例 —— 慢調用其實就是響應超過預定時長,當這樣的調用到達一定比例后,觸發降級規則
異常比例 —— 方法調用出現異常數到達一定比例后,觸發降級規則
異常數 —— 方法調用出現異常到達一定數目后,觸發降級規則
我們按照圖中所示創建一條降級規則,其含義為【任意1次并發請求(QPS)中有1次異常則觸發熔斷規則,時長為10秒】
這里的10秒時間是我們一個大概的預估值,一般理解為系統達到自愈效果需要大概10秒左右
之后我們直接關停下游的provider,則第一次請求會導致異常,而第二次請求則觸發降級規則
之八 2流高手速成記:基于Sentinel實現微服務體系下的限流與熔斷

文章插圖
之八 2流高手速成記:基于Sentinel實現微服務體系下的限流與熔斷

文章插圖
若我們不設定降級規則,則大量的異常請求會堆積在consumer一側,導致consumer最終崩潰
而熔斷機制的設立,可以使得下游provider異常的情況下,上游的consumer依然做出正常的應答,
而10秒鐘provider服務自愈之后,所有的異常影響將消失于無形 —— 這就是微服務方案下針對我們上一節所遺留的問題給出的答案
其他熔斷策略同理,我們可以自行嘗試
本節我們重點講述了Sentinel系統中的限流與熔斷 , 而除此之外,Sentinel還有更多更豐富的規則設定 , 可以應對微服務體系中更加復雜多變的場景
這里我們推薦幾篇文章,大家感興趣可以自行閱讀
sentinel 限流熔斷神器詳細介紹_張維鵬的博客-CSDN博客_sentinel熔斷
Sentinel限流熔斷最全教程_思月行云的博客-CSDN博客
本節內容到此為止,而微服務領域的探索卻遠不止于此
眾多節點之間的復雜調用,不同微服務不同的認證方式,跨域問題等等一系列問題接踵而至,我們又當如何應對?
請期待下一節內容 —— 基于SpringCloudGateway的網關設計,謝謝~
e.getMessage()【之八 2流高手速成記:基于Sentinel實現微服務體系下的限流與熔斷】

推薦閱讀