dubbo服務治理(一)降級 原

在線網站一般都會有服務器壓力劇增的時候,比如說網上商城的促銷,這個時候常用的手段就是服務降級,根據當前業務情況及流量對一些服務和頁面有策略的降級,以此緩解了服務器資源壓力,以保證核心任務的正常運行,同時也保證了部分甚至大部分客戶得到正確響應

服務降級實施策略

  • 頁面拒絕服務:頁面提示由於服務繁忙此服務暫停。跳轉到varnishnginx的一個靜態頁面。
  • 服務接口拒絕服務:無用戶特定信息的頁面能訪問,提示服務器繁忙。頁面內容也可在緩存(Varnish)或CDN內獲取。
  • 延遲持久化:頁面訪問照常,但是涉及記錄變更,會提示稍晚能看到結果,將數據記錄到異步隊列或log,服務恢復後執行。
  • 隨機拒絕服務:服務接口隨機拒絕服務,讓用戶重試,目前較少採用。因爲用戶體驗不佳。

現在說一下dubbo服務的降級方式,有兩種方式:

  • dubbo-admin中進行動態配置來事項降級 

     

 

      其中動態配置中的參數可以定義超時時間

      這裏可以使用debug測試,讓服務超時,很快消費者會報錯

      這裏的mock值,這裏有容錯和屏蔽兩個選擇

      屏蔽(mock=force)

 

mock=force:return+null 表示消費方對該服務的方法調用都直接返回 null 值,不發起遠程調用。用來屏蔽不重要服務不可用時對調用方的影響

       消費者放直接返回null不遠程調用服務

      容錯(mock=fail)

 

 

還可以改爲 mock=fail:return+null 表示消費方對該服務的方法調用在失敗後,再返回 null 值,不拋異常。用來容忍不重要服務不穩定時對調用方的影響。

        如果調用失敗後返回null

 

 

  • 通過註冊配置實現
<dubbo:reference id="iUser" interface="com.dubbosample.iface.IUser"  timeout="1000" check="false" mock="return null">

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章