一、前言
dubbo提供了一些服務(wù)降級措施,當(dāng)服務(wù)提供端某一個非關(guān)鍵的服務(wù)出錯時候,dubbo可以對消費(fèi)端的調(diào)用進(jìn)行降級,這樣服務(wù)消費(fèi)端就避免了在去調(diào)用出錯的服務(wù)提供端,而是使用自定義的返回值直接在在本地返回。
二、如何使用服務(wù)降級
-
直接返回mock值
image.png
mock=force:return+null 表示消費(fèi)方對該服務(wù)的方法調(diào)用都直接返回 null 值,不發(fā)起遠(yuǎn)
程調(diào)用。用來屏蔽不重要服務(wù)不可用時對調(diào)用方的影響。
設(shè)置完后,可以在管理控制臺查看:


-
2.2 調(diào)用失敗后在返回mock值
image.png
mock=fail:return+null 表示消費(fèi)方對該服務(wù)的方法調(diào)用在失敗后,再返回
null 值,不拋異常。用來容忍不重要服務(wù)不穩(wěn)定時對調(diào)用方的影響。
三、服務(wù)降級的實現(xiàn)
服務(wù)降級是在MockClusterInvoker類實現(xiàn):

四、總結(jié)
dubbo提供了一些服務(wù)降級措施,當(dāng)服務(wù)提供端某一個非關(guān)鍵的服務(wù)出錯時候,dubbo可以對消費(fèi)端的調(diào)用進(jìn)行降級,這樣服務(wù)消費(fèi)端就避免了在去調(diào)用出錯的服務(wù)提供端,而是使用自定義的返回值直接在在本地返回。但是相比springcloud的熔斷機(jī)制,dubbo的容錯很不智能,sc里面的熔斷機(jī)制可以自動熔斷和恢復(fù),感興趣的大家可以去看看。另外深入淺出dubbo視頻課程已經(jīng)更新完畢, 單擊我觀看視頻 可進(jìn)入觀看

