ページ内ナビ
概要
Javaアプリケーションから外部サービスを呼ぶ際に、障害の連鎖を抑えるためのライブラリです。CircuitBreaker、Retry、RateLimiter、Bulkhead、TimeLimiterを必要な分だけ選び、ラムダ式やメソッド参照へ重ねて適用できます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
向いている用途
複数の外部サービスを別々の障害領域として守る
決済、在庫、通知など複数の外部サービスを呼ぶJavaアプリケーションに向きます。公式READMEは保護対象ごとに固有のインスタンスを作るよう勧めており、障害状態、しきい値、同時実行数、メトリクスをサービス間で混ぜずに管理できます。
出典:[1]
導入前の確認
Java版とデコレーターの実行順を先に固定する
v2.4.0のbuild.gradleはJavaのsourceCompatibilityとtargetCompatibilityを17に設定し、同梱WrapperはGradle 8.10を使います。ソース検証ではGradle 8.10を起動し、Java 17向けにコンパイルできるJDK環境を用意してください。READMEはResilience4j 3にJava 21が必要とも明記しています。Spring Boot 3では既定のAspect OrderによりRetryがCircuitBreakerの外側で動く場合があるため、順序の明示設定も必要です。
参考にした公式資料
- [1]Resilience4j v2.4.0 README(2026-10-04)
- [2]Resilience4j v2.4.0 Spring Boot 3 README(2026-10-04)
- [3]Resilience4j v2.4.0 Gradle build configuration(2026-10-04)
- [4]Resilience4j v2.4.0 Gradle Wrapper configuration(2026-10-04)
- [5]Resilience4j v2.4.0 release(2026-10-04)
- [6]Resilience4j GitHub repository metadata(2026-10-04)
- [7]Resilience4j v2.4.0 license(2026-10-04)
編集部からの補足
比較時は機能数だけでなく、保護対象ごとに状態とメトリクスを分離できるかを確認したいライブラリです。Spring BootではRetryとCircuitBreakerの実行順も設計レビューに含めてください。
3ステップで試す
- 1
v2.4.0のソースを取得する
固定タグを浅く取得し、以降のGradle Wrapperコマンドを同じディレクトリで実行します。
git clone --depth 1 --branch v2.4.0 https://github.com/resilience4j/resilience4j.git && cd resilience4j - 2
JDKとWrapperを確認してCircuitBreakerをテストする
v2.4.0はGradle 8.10のWrapperを同梱し、Java 17向けにコンパイルします。JDK 17で実行環境を確認してから遮断機能のテストを実行します。
java -version && ./gradlew --version && ./gradlew :resilience4j-circuitbreaker:test - 3
Retryのテストを実行する
同じチェックアウトで再試行モジュールのテストも実行し、二つの独立した機能を確認します。
./gradlew :resilience4j-retry:test
成長
成長の推移 · 直近30日
10,776 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 4
- Open PR
- 57
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- resilience
- circuitbreaker
- rate-limiter
- retry
- bulkhead
- metrics
- Stars
- 10,776
- Forks
- 1,514
- Watchers
- 215
- Open Issues
- 261
- Contributors
- 241
- 所有者種別
- Organization
- 主要言語
- Java
- ライセンス
- Apache-2.0
- リポジトリ最終更新
- 2026/09/23
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Gson24,234 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
Java objectとJSONをannotation必須なしで相互変換するserialization library
Java - MyBatis20,448 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
SQLを明示したままJava objectへのmappingを整理する
Java - Caffeine17,882 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
Java process内のdataを高速なin-memory cacheへ保持し、size・expiration・refresh policyで再計算やI/Oを減らす
Java - Dagger17,702 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
reflectionなしのcompile-time code generationでJava・Androidのdependency injection graphを構築する
Java - Mockito15,454 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
Javaの依存先を模擬し、単体テストを小さく保つ
Java - Arduino IDE 1.x14,656 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
Sketchを編集・コンパイル・書き込みし、Arduinoボードの開発を一つのデスクトップIDEで行う
Java
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。