?在多個微服務(wù)調(diào)用過程中如果出現(xiàn)服務(wù)的宕機(jī),服務(wù)并不能保證服務(wù)的100%可用蜕径,如果單個服務(wù)出現(xiàn)問題泵督,調(diào)用這個服務(wù)就會出現(xiàn)網(wǎng)絡(luò)延遲敦冬,此時若有大量的網(wǎng)絡(luò)涌入搬泥,會形成任務(wù)累計桑寨,導(dǎo)致服務(wù)癱瘓,甚至導(dǎo)致服務(wù)“雪崩”忿檩。我們?nèi)绾谓鉀Q這個問題呢尉尾?
如下圖所示:
當(dāng)service-ribbon調(diào)用服務(wù)失敗的時候怎么處理?
第一 燥透、首先修改pom文件沙咏,引入jar
第二、修改ApplicationBoot文件
添加啟用斷路器注解
第一個是啟用斷路器班套, 第二個是為了圖形展示肢藐。
第三、修改服務(wù)的
注意:回調(diào)方法必須和當(dāng)前的方法參數(shù)完全一致吱韭。不能有差異吆豹。否則找不到。
第四 驗證
1.啟動所有服務(wù)
2.輸入
http://localhost:8764/hi?name=劉德華
3.瀏覽器輸入:http://localhost:8764/hystrix?
注意里面輸入的地址 *.stream ?title:可以隨便輸入
最后監(jiān)控界面如下:
我在步驟2中不斷刷新調(diào)用接口服務(wù)杉女,則監(jiān)控界面顯示如下:
顯示結(jié)果全部命中瞻讽。圈為灰暗色。
4.如果斷開服務(wù)則得到的監(jiān)控結(jié)果如下:
命中失敗率為100%熏挎。
當(dāng)調(diào)用遠(yuǎn)程服務(wù)失敗后速勇,則直接將回調(diào)函數(shù)的結(jié)果返回到請求方。
如下圖: