spring cloud各種超時時間設定

2021-10-05 08:40:33 字數 1621 閱讀 2124

如果是zuul(閘道器)的超時時間需要設定zuul、hystrix、ribbon等三部分:

#zuul超時設定

#預設1000

zuul.host.socket-timeout-millis=2000

#預設2000

zuul.host.connect-timeout-millis=4000

#熔斷器啟用

feign.hystrix.enabled=true

hystrix.command.default.execution.timeout.enabled=true

#斷路器的超時時間,下級服務返回超出熔斷器時間,即便成功,消費端訊息也是timeout,所以一般斷路器的超時時間需要大於ribbon的超時時間。

#服務的返回時間大於ribbon的超時時間,會觸發重試

##預設=1000,太小

hystrix.command.default.execution.isolation.thread.timeoutinmilliseconds=60000

#斷路器詳細設定

#當在配置時間視窗內達到此數量的失敗後,進行短路。預設20個)

#hystrix.command.default.circuitbreaker.requestvolumethreshold=20

#短路多久以後開始嘗試是否恢復,預設5s)

#hystrix.command.default.circuitbreaker.sleepwindowinmilliseconds=5

#出錯百分比閾值,當達到此閾值後,開始短路。預設50%)

#hystrix.command.default.circuitbreaker.errorthresholdpercentage=50%

#ribbon請求連線的超時時間- 限制3秒內必須請求到服務,並不限**務處理的返回時間

ribbon.connecttimeout=3000

#請求處理的超時時間 下級服務響應最大時間,超出時間消費方(路由也是消費方)返回timeout

ribbon.readtimeout=5000

# 單獨設定某個服務的超時時間,會覆蓋其他的超時時間限制,服務的名稱已註冊中心頁面顯示的名稱為準,超時時間不可大於斷路器的超時時間

#service-a.ribbon.readtimeout=60000

#service-a.ribbon.connecttimeout=60000

#重試機制

#該引數用來開啟重試機制,預設是關閉

spring.cloud.loadbalancer.retry.enabled=true

#對所有操作請求都進行重試

ribbon.oktoretryonalloperations=true

#對當前例項的重試次數

ribbon.maxautoretries=1

#切換例項的重試次數

ribbon.maxautoretriesnextserver=1

#根據如上配置,當訪問到故障請求的時候,它會再嘗試訪問一次當前例項(次數由maxautoretries配置),

#如果不行,就換乙個例項進行訪問,如果還是不行,再換一次例項訪問(更換次數由maxautoretriesnextserver配置),

#如果依然不行,返回失敗資訊。

SpringCloud之各種超時時間設定

文章 於 學習整合hystrix時候發現配置檔案裡的超時時間把我給弄暈了,老辦法google之,找issue 找到能解決這個問題的文章,最好還是得找到原理圖學習。如果是zuul 閘道器 的超時時間需要設定zuul hystrix ribbon等三部分 zuul超時設定 預設1000 zuul.hos...

SpringCloud元件超時總結

目錄 1 ribbon的超時 2 feign的超時 3 resttemplate的超時 4 zuul的超時 4.1 如果zuul的路由使用了ribbon 4.2 如果zuul的路由未使用ribbon 5 hystrix的超時 全域性設定 ribbon readtimeout 60000 connec...

springcloud超時機制

springcloud中有很多超時時間配置,總結一下各處超時時間的使用及配置。hystrix command default execution isolation thread timeoutinmilliseconds 100000 命令執行超時時間,預設1000ms,應大於ribbon超時時間...