目錄
- 配置屬性說明
- yaml
- 註解
配置屬性說明
yaml
# 重試器配置
resilience4j.retry:
instances:
callback:
# 最大重試次數
maxAttempts: 5
# 重試間隔的時間
waitDuration: 10s
# 表示在重試策略中啟用指數退避。這意味著在每次重試之間,重試操作的延遲將以指數級增長。
enableExponentialBackoff: true
# 指數退避的增長因子,每次重試的等待時間將是前一次等待時間的兩倍
exponentialBackoffMultiplier: 2
註解
/**
* CircuitBreaker: 啟用斷路器模式,當 BACKEND_A發生故障,斷路器會開啟,防止後續請求繼續呼叫該服務;
Bulkhead: 啟用隔離模式,限制併發呼叫 BACKEND_A 的數量,防止資源耗盡;
@Retry(name = BACKEND_A):啟用重試機制,當呼叫 BACKEND_A 失敗時,會自動重試。
*/
@CircuitBreaker(name = BACKEND_A)
@Bulkhead(name = BACKEND_A)
@Retry(name = BACKEND_A)
public String failure() {
throw new HttpServerErrorException(HttpStatus.INTERNAL_SERVER_ERROR, "This is a remote exception");
}