服务降级,服务熔断,服务限流
生活随笔
收集整理的這篇文章主要介紹了
服务降级,服务熔断,服务限流
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
服務降級
概念:服務降級,當服務器壓力劇增的情況下,根據當前業務情況及流量對一些服務和頁面有策略的降級,以此釋放服務器資源以保證核心任務的正常運行。
- 服務接口拒絕服務:頁面能訪問,但是添加刪除提示服務器繁忙。頁面內容也可在Varnish或CDN內獲取。
- 頁面拒絕服務:頁面提示由于服務繁忙此服務暫停。跳轉到varnish或nginx的一個靜態頁面。
- 延遲持久化:頁面訪問照常,但是涉及記錄變更,會提示稍晚能看到結果,將數據記錄到異步隊列或log,服務恢復后執行。
- 隨機拒絕服務:服務接口隨機拒絕服務,讓用戶重試,目前較少有人采用。因為用戶體驗不佳。
服務熔斷
如果某個目標服務調用慢或者有大量超時,此時,熔斷該服務的調用,對于后續調用請求,不在繼續調用目標服務,直接返回,快速釋放資源。如果目標服務情況好轉則恢復調用。
熔斷設計
三個模塊:熔斷請求判斷算法、熔斷恢復機制、熔斷報警
(1)熔斷請求判斷機制算法:使用無鎖循環隊列計數,每個熔斷器默認維護10個bucket,每1秒一個bucket,每個blucket記錄請求的成功、失敗、超時、拒絕的狀態,默認錯誤超過50%且10秒內超過20個請求進行中斷攔截。
(2)熔斷恢復:對于被熔斷的請求,每隔5s允許部分請求通過,若請求都是健康的(RT<250ms)則對請求健康恢復。
(3)熔斷報警:對于熔斷的請求打日志,異常請求超過某些設定則報警
服務限流
限流模式主要是提前對各個類型的請求設置最高的QPS閾值,若高于設置的閾值則對該請求直接返回,不再調用后續資源。
總結
以上是生活随笔為你收集整理的服务降级,服务熔断,服务限流的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分布式系统之一致性
- 下一篇: 负载均衡和CDN技术