1.修改productcustomerservicefallback,將介面實現換為fallbackfactory介面的實現
2.在create方法內對productcustomerservice介面內的資料做托底資料
/**
* @project_name:springcloud
* @date:2019/9/4:14:22
* @author:shinelon
* @describe:托底資料類 fallbackfactory:使用此類能夠獲取到在進行遠端服務呼叫的時候的異常資訊,泛型寫customer內介面的型別
*/@component
public class productcustomerservicefallback implements fallbackfactory};}
}
介面
/**
* @feignclient:註解的作用是指定的乙個feign客戶端 name:找到指定的實現了服務的應用名字,當前案例中是15-feign-provider實現了所以name的值
* fallbackfactory:返回托底資料的類
* feign進行降級處理的時候不能和服務介面有聯絡
*/@feignclient(name = "15-feign-provider", fallbackfactory = productcustomerservicefallback.class)
public inte***ce productcustomerservice
為什麼需要服務降級以及常見的幾種降級方式
當服務 b 業務執行緒池全部用滿的狀態時,應該拒絕服務 a 的請求 這一點 dubbo 就做得很好了 保護自己,不被服務 a 拖垮 服務 a 在服務 b 多次拒絕請求的情況下不應該再向服務 b 傳送請求,懂得體量它人,不連累它人 服務 a 在請求大量堆積的情況下,也應該拒絕客戶端的請求,而不是繼續堆...
重入 降級鎖
兩種互斥鎖機制 1 synchronized 2 reentrantlock reentrantlock是jdk5的新特性,採用reentrantlock可以完全替代替換synchronized傳統的鎖機制,google一下就水落石出了。在本部落格中也寫關於這兩種鎖方式實現的經典例子 生產者消費者 ...
dubbo 服務降級
經歷過12306搶票的人應該經常會遇到這個問題 在搶票高峰的時候,明明票還有,但是查詢出來的列表卻是為空的 如果沒票列表也應該會呈現 等高峰過後再查詢,列表又恢復正常。個人猜測應該是查詢過程中出現了問題,要麼超時,要麼網路問題導致查詢失敗採用的服務降級處理。所以,最終呈現給使用者的並不是內部系統出錯...