dubbo服務治理(一)降級

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

服務降級實施策略nginx

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

如今說一下dubbo服務的降級方式,有兩種方式:緩存

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

     

 

      其中動態配置中的參數能夠定義超時時間服務器

      這裏能夠使用debug測試,讓服務超時,很快消費者會報錯異步

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

      屏蔽(mock=force)網站

 

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

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

      容錯(mock=fail)debug

 

 

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

        若是調用失敗後返回null

 code

 

  • 經過註冊配置實現
<dubbo:reference id="iUser" interface="com.dubbosample.iface.IUser"  timeout="1000" check="false" mock="return null">
相關文章
相關標籤/搜索