Open3
Spring Boot × Resilience4j でCircuitBreakerとbulkheadを試す
ドキュメント
resilience4j 公式ドキュメント
resilience4j 非公式日本語ドキュメント
Spring Boot に組み込む
application.yml に追加する設定について
/actuator/health でサーキットブレーカーのステータスを確認する方法
circuitbreakerの設定毎に registerHealthIndicator: true を追加する
resilience4j:
circuitbreaker:
instances:
backendA:
# 追加が必要
registerHealthIndicator: true
/actuator/health で確認できるように management の設定を追加
management:
endpoint:
health:
show-details: always
health:
circuitbreakers:
enabled: true
実装方法
コード
プロパティの意味については公式ドキュメントを参照
resilience4j:
circuitbreaker:
instances:
backendA:
registerHealthIndicator: true
# デフォルト60000[ms]
waitDurationInOpenState: 10000
# デフォルト60000[ms]
slowCallDurationThreshold: 5000
application.yml で定義した backendA という設定を利用する場合
@CircuitBreaker(name = "backendA")
というアノテーションをクラスに付与するだけでCircuitBreakerが有効になる。
参考にした記事