Dubbo服務降級設定
dubbo降級服務
dubbo開發中,通常是微服務架構,那麼在使用過程中可能會遇到多種問題:
1)多個服務之間可能由於服務沒有啟動或者網路不通,呼叫中會出現遠端呼叫失敗;
2) 服務請求過大,需要停止部分服務以保證核心業務的正常執行;
以上兩個問題可以使用Dubbo的服務降級來實現;
即:在服務宕掉或者併發數太高導致的RpcException異常時,進行友好的處理或者提示,而不是內部報錯導致系統不可用。
解決方法:
dubbo提供了mock配置,可以很好的實現dubbo服務降級,
mock主要有兩種配置方式,
第1種
在遠端呼叫異常時,服務端直接返回一個固定的字串(也就是寫死的字串)
具體配置:
在服務呼叫方配置mock引數:
<dubbo:reference id="xxxService" interface="com.x..service.xxxxService" check="false" mock="return 123456..." />
說明:配置了mock引數之後,假設在呼叫服務的時候,遠端服務沒有啟動,或者各種網路異常了,那遠端服務會把這個mock配置的值返回,也就是會返回123456...
通過這種方式就可以避免了因為服務呼叫不了而出現異常錯誤而帶來的程式不可用(起碼是有值返回的,然後可以根據值進行業務邏輯處理判斷等等)。
注:除了配置mock引數之外,其它地方不用變。
第2種
在遠端呼叫異常時,服務端根據自定義mock業務處理類進行返回)
具體配置:
在服務呼叫方配置mock引數:
<dubbo:reference id="xxxService" interface="com.x..service.xxxxService" check="false" mock="true" />
說明:配置了mock引數之後,假設在呼叫服務的時候,遠端服務沒有啟動,或者各種網路異常了,那遠端服務會去尋找自定義的mock業務處理類進行業務處理。
因此還需配置一個自定義mock業務處理類
在介面服務xxxxService的目錄下建立相應的mock業務處理類,同時實現業務介面xxxxService(),介面名要注意命名規範:介面名+Mock字尾,mock實現需要保證有無參的構造方法。
public class xxxxServiceMock implements xxxxService {
@Override
public String getXXXX(int id) {
return "this is exception 自定義....";
}
}
配置完成後,此時如果呼叫失敗會呼叫自定義的Mock業務實現。
注:除了以上兩處之外,其它地方不用變。
管理介面手動配置:
以上的配置其實除了在程式碼中配置之外,還可以在dubb-adming管理介面直接手動配置:
分別是遮蔽和容錯:
遮蔽:force.mock (即:遮蔽請求,直接返回某個值,如上面的字串,mock="return 123456...");
容錯:fail.mock (即:允許請求,在請求失敗的時候,再返回某個值,如:mock="fail:return 123456...");
相關文章
- Dubbo優雅服務降級之mockMock
- 微服務架構—服務降級微服務架構
- 面試官:Dubbo怎麼實現服務降級,他有什麼好處?面試
- Java後端分散式系統的服務降級:優雅降級與服務熔斷Java後端分散式
- OpenFeign 定義後備工廠進行服務降級
- (萬字好文)Dubbo服務熔斷與降級的深入講解&程式碼實戰
- SpringCloud-Hystrix 服務降級、熔斷SpringGCCloud
- 五. SpringCloud服務降級與熔斷SpringGCCloud
- 億級流量架構之服務降級思路與方法架構
- SpringCloud構建微服務架構-Hystrix服務降級SpringGCCloud微服務架構
- 服務的熔斷和降級的區別
- Spring Cloud構建微服務架構-Hystrix服務降級SpringCloud微服務架構
- 打造可降級的React服務端同構框架React服務端框架
- Spring Cloud構建微服務架構—服務容錯保護(Hystrix服務降級)SpringCloud微服務架構
- 圖解Dubbo,Dubbo服務介面詳解圖解
- SpringCloud Netflix (五) : Hystrix 服務熔斷和服務降級SpringGCCloud
- SpringCloud 2020.0.4 系列之服務降級SpringGCCloud
- 圖解Dubbo,Dubbo服務消費詳解圖解
- Linux下Apache服務的基本設定(企業級)LinuxApache
- Windos NTP 服務設定
- [分散式]--Dubbo分散式服務框架-服務治理分散式框架
- 微服務技術棧:流量整形演算法,服務熔斷與降級微服務演算法
- Dubbo原始碼分析(五)Dubbo呼叫鏈-服務端原始碼服務端
- Dubbo原始碼分析(三)Dubbo的服務引用Refer原始碼
- 圖解Dubbo,Dubbo服務提供者詳解圖解
- 使用dubbo+zookeeper釋出服務與呼叫服務
- dubbo服務者原始碼分期原始碼
- Dubbo原始碼之服務引用原始碼
- Dubbo服務暴露原始碼解析②原始碼
- Spring Cloud Alibaba系列(五)sentinel實現服務限流降級SpringCloud
- 基於.NET CORE微服務框架 -談談surging的服務容錯降級微服務框架
- dubbo原始碼分析02:服務引用原始碼
- Dubbo原始碼分析十一、服務路由原始碼路由
- 分散式服務Dubbo的前世今生分散式
- dubbo 遠端服務無法呼叫
- Dubbo原始碼分析之服務引用原始碼
- Dubbo原始碼分析之服務暴露原始碼
- 關於沒有熔斷降級導致服務重啟問題