Zuul使用Ribbon配置自動重試

2021-09-07 16:36:53 字數 1423 閱讀 6815

spring cloud的版本不斷演進,導致很多配置的配置方式不斷改變,有時某個配置在乙個版本裡面預設是true,後邊一公升級預設成了false,這點讓人有點不爽。

言歸正傳

0、所使用版本

spring cloud版本:dalston.sr1

spring boot版本:1.5.4.release

步驟如下:

1、在配置檔案中新增以下關鍵內容:

spring:

cloud:

loadbalancer:

retry:

#據說ribbon重試預設已經開啟

enabled: true

zuul:

# 重試必配,據說在brixton.sr5版的spring cloud中該配置預設是true,結果在dalston.sr1中看到的是false

retryable: true

ribbon:

#ribbon重試超時時間

connecttimeout: 250

#建立連線後的超時時間

readtimeout: 1000

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

oktoretryonalloperations: true

#切換例項的重試次數

maxautoretriesnextserver: 2

#對當前例項的重試次數

maxautoretries: 1eureka:

enable: true

注意:如果想指定某個路徑的重試的開啟和關閉,可以配置zuul.routes..retryable的false和true

2、在pom中引入如下內容:

<

dependency

>

<

groupid

>org.springframework.retry

groupid

>

<

artifactid

>spring-retry

artifactid

>

dependency

>

以支援:org.springframework.retry.support.retrytemplate,進而初始化ribbon的重試策略,原因如下圖原始碼所示,注意其中的@conditionalonclass

3、重試好像(尷尬臉)不會跨zone

完畢

Zuul使用Ribbon配置自動重試

spring cloud的版本不斷演進,導致很多配置的配置方式不斷改變,有時某個配置在乙個版本裡面預設是true,後邊一公升級預設成了false,這點讓人有點不爽。言歸正傳 0 所使用版本 spring cloud版本 dalston.sr1 spring boot版本 1.5.4.release ...

zuul閘道器配置

靜態路由 通過url匹配對映位址進行靜態路由 只會把到達zuul閘道器的請求按照傳送,並把匹配請求位址 common service http localhost 9001 zuul routes traditional url 傳統的路由配置,此名稱可以自定義 path common servic...

Zuul 基礎配置

a 單例serverid對映 zuul routes client a path client serviceid client a 意思是,以 client 為端點路徑的服務都對映到client a,這種配置還可以簡寫成下面的格式,二者效果完全一致 zuul routes client a cli...