溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Spring Cloud Zuul如何實(shí)現(xiàn)重試配置

發(fā)布時(shí)間:2021-08-20 13:02:18 來(lái)源:億速云 閱讀:143 作者:小新 欄目:編程語(yǔ)言

這篇文章主要為大家展示了“Spring Cloud Zuul如何實(shí)現(xiàn)重試配置”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Spring Cloud Zuul如何實(shí)現(xiàn)重試配置”這篇文章吧。

Spring Cloud Zuul模塊本身就包含了對(duì)于hystrix和ribbon的依賴,當(dāng)我們使用zuul通過(guò)path和serviceId的組合來(lái)配置路由的時(shí)候,可以通過(guò)hystrix和ribbon的配置調(diào)整路由請(qǐng)求的各種時(shí)間超時(shí)機(jī)制。

1 ribbon配置舉例

配置連接超時(shí)時(shí)間1秒,請(qǐng)求處理時(shí)間2秒,統(tǒng)一服務(wù)server嘗試重連1次,切換server重連1次

ribbon:
 ConnectTimeout: 1000
 ReadTimeout: 2000
 MaxAutoRetries: 1
 MaxAutoRetriesNextServer: 1

2 hystirx配置舉例

hystrix:
 command:
  default:
   execution:
    isolation:
     thread:
      timeoutInMilliseconds: 60000

這里需要注意的是hystrix的配置時(shí)間應(yīng)該大于ribbon全部重試時(shí)間的總和,上面我配置的是2次重試,包括首次請(qǐng)求,三次時(shí)間是6秒

引用官方大神的一段說(shuō)明

When using Hystrix commands that wrap Ribbon clients you want to make sure your Hystrix timeout is configured to be longer than the configured Ribbon timeout, including any potential
retries that might be made. For example, if your Ribbon connection timeout is one second and
the Ribbon client might retry the request three times, than your Hystrix timeout should
be slightly more than three seconds.

3 打開(kāi)zuul的重試配置:

zuul:
  retryable: true

特別注意zuul的重試配置需要依賴spring的retry,不然的話怎么配置都是徒勞

<dependency>
  <groupId>org.springframework.retry</groupId>
  <artifactId>spring-retry</artifactId>
</dependency>

以上是“Spring Cloud Zuul如何實(shí)現(xiàn)重試配置”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI