服務的隔離,熔斷,降級,限流

1.服務的隔離:

          默認情況下,一個項目的接口都是由一個線程池去維護的,當某個接口被大量訪問的時候,其他的接口就會被迫等待,當達到線程池的極限的時候甚至會造成服務的丟失,造成服務的雪崩效應(A接口被大量訪問,會造成其他接口等待,不可用)。

      解決方案:

             信號量:給每個接口設置最大訪問量,超過閾值就執行服務的降級。

             線程池:使用Hystrix服務保護框架,給每個接口分配一個獨有的線程池,這樣可以保證每個接口互不影響(cpu消耗高)。

 

 

2.服務的降級:

      當訪問某個接口長時間沒有響應時,不必讓客戶端一直等待,直接返回一個提示給客戶端(類似當前服務忙,請稍後再試),直接調用Hystrix中的fallBack方法。

 

 

3.服務的熔斷:

      當服務的訪問量達到一定閾值的時候,爲了保護服務,直接拒絕後續的服務(一般對後續的服務使用服務降級)。

 

4.服務限流:

  在高併發的情況,一旦服務承受不了使用服務限流機制(計數器(滑動窗口計數)、漏桶算法、令牌桶(Restlimite))

 

 

 

 

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