用dubbo在進行服務呼叫時,可能由於各種原因(伺服器宕機/網路超時/併發數太高等),呼叫中就會出現rpcexception,呼叫失敗。服務降級就是指在由於非業務異常導致的服務不可用時,可以返回預設值,避免異常影響主業務的處理。
dubbo使用mock配置來實現服務的降級,mock支援一下兩種配置
1、配置boolean值,預設false,如果配置為true,則預設使用介面名+mock字尾的類來處理降級服務。
dubbo:reference id="testservice" inte***ce="com.yang.test.api.testservice" mock="true"/>
比如我們的介面名稱是testservice,則mock類名為:testservicemock。而且兩者必須在同乙個包下。
這樣在出現非業務異常會呼叫次方法,現在我們關掉提供者服務,模擬rpc異常。
2、配置mock值為 return null
此種配置不需要額外類,此配置表示所有的消費者直接返回null。同樣的關掉提供者服務,模擬rpc異常。
頁面什麼都沒有,因為返回了null。
dubbo 服務降級
經歷過12306搶票的人應該經常會遇到這個問題 在搶票高峰的時候,明明票還有,但是查詢出來的列表卻是為空的 如果沒票列表也應該會呈現 等高峰過後再查詢,列表又恢復正常。個人猜測應該是查詢過程中出現了問題,要麼超時,要麼網路問題導致查詢失敗採用的服務降級處理。所以,最終呈現給使用者的並不是內部系統出錯...
Dubbo服務降級
當伺服器壓力劇增的情況下,根據實際業務情況及流量,對一些服務和頁面有策略的不處理或簡單處理,從而釋放伺服器資源以保證核心業務正常運作或高效運作。可以通過服務降級功能臨時遮蔽某個出錯的非關鍵服務並定義降級後的返回策略。dubbo支援兩種服務降級策略 1 mock force return null 表...
Dubbo服務降級設定
dubbo降級服務 dubbo開發中,通常是微服務架構,那麼在使用過程中可能會遇到多種問題 1 多個服務之間可能由於服務沒有啟動或者網路不通,呼叫中會出現遠端呼叫失敗 2 服務請求過大,需要停止部分服務以保證核心業務的正常執行 以上兩個問題可以使用dubbo的服務降級來實現 即 在服務宕掉或者併發數...