Spring Cloud 學習筆記 ——Spring Cloud Config 請求失敗重試

廁所博士發表於2020-10-30

13.6請求失敗重試

  • config-client 在呼叫 config-server 時,一樣也可能發生請求失敗的問題,這個時候,我們可以配置一個請求重試的功能。
    要給 config-client 新增重試功能,只需要新增如下依賴即可:
		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.retry</groupId>
            <artifactId>spring-retry</artifactId>
        </dependency>

然後修改配置,開啟失敗快速響應。
config-client 的請求失敗重試,與 resiliense4j 請求重試不同,config-client 的請求失敗重試應該在專案啟動的時候就報這個錯,而不是專案啟動完成後,呼叫某個介面或者方法時候使用配置內容時候再載入,這時如果啟動沒拉去 config-server 內容,專案會報錯的,所以應該在專案啟動時配置 config 的請求重試功能

  • 在 config-client 的 bootstrap.properties 中配置:
# 開啟配置檔案失敗快速響應
spring.cloud.config.fail-fast=true
  • 重啟 Eureka server、config-server,然後通過註釋 config-client 中 訪問 config-server 的使用者名稱密碼來模擬專案啟動載入不到 config-server 配置檔案的情況
#spring.cloud.config.username=javaboy
#spring.cloud.config.password=123
  • 啟動 config-client 專案,直接報錯:
    在這裡插入圖片描述

說明spring.cloud.config.fail-fast=true起作用了

  • 還可以配置其他內容:
# 請求重試的初始時間間隔
spring.cloud.config.retry.initial-interval=1000
# 最大重試次數
spring.cloud.config.retry.max-attempts=6
# 重試時間幾個乘數
spring.cloud.config.retry.multiplier=1.1
# 最大間隔時間
spring.cloud.config.retry.max-interval=3000

這就是 Spring Cloud Config 請求失敗重試功能。

相關文章