springcloud中ribbon及hystrix時間配置以及重試機制配置

springcloud中ribbon及hystrix時間配置以及重試機制總結如下
1.增加請求時間

ribbon: 
# 請求連接超時時間
  ConnectTimeout: 3000
4.2.增加處理時間
ribbon: 
# 處理超時時間
  ReadTimeout: 600000

2.增加斷路器超時時間

hystrix: 
  command: 
    default: 
      execution: 
        timeout: 
          enabled: true
        isolation: 
          thread: 
         #設置調用者等待命令執行得超時限制,超過此時間,hystrixCommand被標記未TIMEOUT,並執行回退邏輯,默認值1000 毫秒=1秒
            timeoutInMilliseconds: 1800000

3.增加feign客戶端的連接和讀取時間(此時間需與處理時間同步配置)

feign: 
  client: 
    config: 
      default: 
      #此配置用於增加請求方feign客戶端的連接和讀取時間,主要應用於請求方(不包含被請求方)
        connectTimeout: 700000
        readTimeout: 700000

4.開啓重試

spring: 
  cloud: 
    loadbalancer: 
      retry:
        #這個表示在響應非正常情況時,表示開啓重試機制
        enable: true

5.重試次數的配置

ribbon: 
# 請求連接超時時間
  ConnectTimeout: 3000
# 請求處理超時時間
  ReadTimeout: 600000
## 當前實例重試次數,嘗試失敗會更換下一個實例
  MaxAutoRetries: 1
## 切換相同Server的次數
  MaxAutoRetriesNextServer: 1
## 對get和request都進行重試,建議關閉,因爲POST請求會由於緩存了請求體,此時可能會影響服務器的資源。
  OkToRetryOnAllOperations: false
  eureka: 
  #Eureka對Ribbon服務實例的維護實現,默認爲true
    enabled: true

6.熔斷器的配置

hystrix: 
  command: 
    default: 
      execution: 
        timeout: 
          enabled: true
        isolation: 
          thread: 
         #設置調用者等待命令執行得超時限制,超過此時間,hystrixCommand被標記未TIMEOUT,並執行回退邏輯,默認值1000 毫秒=1秒
            timeoutInMilliseconds: 1800000
      #熔斷器器配置
      circuitBreaker: 
      #是否啓用熔斷器,默認是true    
        enabled: true
        #10秒內請求數量,默認20,如果沒有達到該數量,即使請求全部失敗,也不會觸發斷路器打開
        requestVolumeThreshold: 20
#        失敗請求百分比,達到該比例則觸發斷路器打開,默認50%(此參數設置需在10秒內達到了requestVolumeThreshold所設置的請求數量)
        errorThresholdPercentage: 50
#        斷路器打開多長時間後,再次允許嘗試訪問(半開),仍失敗則繼續保持打開狀態,如成功訪問則關閉斷路器,默認 5000
        sleepWindowInMilliseconds: 3000

無意中發現了一個巨牛的人工智能教程,忍不住分享一下給大家。教程不僅是零基礎,通俗易懂,而且非常風趣幽默,像看小說一樣!覺得太牛了,所以分享給大家。點這裏可以跳轉到教程。

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