No English page yet. Showing the Japanese source.
Circuit Breaker/Bulkhead/Load Shedding × AI
記事状態: 公開 · 最終確認: 2026-10-05
要点
Circuit Breaker、Retry、Bulkhead、Load Sheddingは同じ機能ではありません。
現在の判断
Circuit Breaker、Retry、Bulkhead、Load Sheddingは同じ機能ではありません。
どこまで当てはまるか
Circuit Breaker/Bulkhead/Load Shedding × AI
詳しく理解する
TIMEOUT AND RETRY BUDGET
remote callには明示的なconnection/request/operation deadlineを設定します。長すぎるtimeoutはresourceを保持し、短すぎるtimeoutはretry trafficを増幅します。
retryは各layerで無制限に重ねません。end-to-end attempt budgetを決め、retry ownerを固定し、transient failureだけをbounded exponential backoff + jitterへ入れます。
schema invalid、policy denial、permission error等のdeterministic failureをdependency-health retryへ混ぜません。
CIRCUIT BREAKER
breakerは少なくともClosed/Open/Half-Openのstateを持ちます。
Open中はlikely-failing dependencyへのrequestをfail-fastにし、Half-Openでは限定probeだけを通します。回復直後に全trafficを戻しません。
failure thresholdはerror countだけで固定せず、slow-call率、429/5xx、timeout、minimum sample、window、provider固有signalを区別します。authorizationやcaller validation failureを無条件にbreaker failureへ数えません。
BULKHEAD
bulkheadはconcurrency/resource isolationです。
interactive/high-priority requestとbatch/eval/background Agentを同一resource poolへ無制限に入れません。dependency別またはworkload class別にin-flight上限とqueue上限を持ち、queue待ちがdeadlineを超えるworkは実行前に拒否します。
LOAD SHEDDING
load sheddingはoverload後の例外処理だけではなくadmission controlとして扱います。
queue depth/age、in-flight concurrency、deadline slack、estimated token/compute、provider quota、tenant budget、priorityを使ってadmissionを判断します。
low-priority/background workを先にshedできるようreserved capacityを設けます。ただしbusiness priorityをprompt長やmodel名だけから推定しません。
RETRY AMPLIFICATION
retryは可用性を上げる場合がありますが、障害を増幅する場合もあります。
2025年のGoogle Cloud AppSheet incidentでは、primary database障害後のretry surgeがsecondary authentication databaseをoverloadし、その後のtraffic migrationとlicense-entitlement負荷、aggressive load sheddingがlatencyをさらに悪化させました。
そのため、retry countだけでなくoriginal requestに対するtotal downstream attemptsをretry amplificationとして観測します。
FALLBACK CORRECTNESS
fallback responseが返ったことを“成功”と同義にしません。
cache、small model、別provider、retrievalなし回答等へfallbackすると、freshness、quality、tool support、structured-output contract、policy、data residencyが変わる場合があります。
fallback routeごとに許可されたdata classification、capability、policy、residency、quality floorを固定し、degraded responseであることをtraceへ残します。
SIDE EFFECT BOUNDARY
Circuit Breakerがopenになったことやclient timeoutが発生したことは、直前のexternal tool actionが実行されなかった証明ではありません。
payment、email、ticket update等のside-effecting callにはstable operation ID/idempotency keyを付け、timeout/connection loss時はauthoritative statusをreadbackしてreconcileします。
実装・運用
Resilience4jのようなlibraryはCircuitBreaker、Retry、RateLimiter、Bulkhead、TimeLimiterをcomposeできますが、decorator order、configuration、framework integration、versionによってobservable behaviorが変わります。
current release名だけでcompatibilityを推定せず、exact library/framework versionをpinしてfixtureを通します。v2.4.0ではSpring Boot 4 support artifactのBOM omissionがupstream issueとして報告されているため、release存在だけをintegration-completeの証拠にしません。
OPERATING CHECK
少なくともdependency latency/timeout、429/503 mix、nested retry、provider quota exhaustion、half-open recovery、queue/bulkhead saturation、interactive vs batch contention、fallback provider/model/cache、external side effect成功後response loss、capacity migration中のretry/load sheddingをfault injectionします。
breaker open duration/flapping、bulkhead rejection、shed rate、queue age、retry amplification、fallback quality、token/compute cost、recovery timeを記録します。
実装・運用 2
本項は2026-10-05時点のAzure architecture guidance、AWS resiliency guidance、Resilience4j author-maintained repository/release/issue、Google Cloud production incident reportとbounded local fixtureに基づきます。production provider overload、service mesh、external side effect mutationは未実施です。
よくある失敗・反証
slow/hard outage、429/503、timeout misconfiguration、retry storm、nested/synchronized retries、half-open probe flood、shared-breaker blast radius、bulkhead starvation、priority inversion、queue growth、quota exhaustion、fallback semantic mismatch、stale cache、residency/policy mismatch、ambiguous side effect、breaker flapping、wrong failure classification、manual override misuse、capacity migration overloadを想定します。
Circuit Breaker/Retry/Bulkhead/Load Sheddingを別controlとして分離し、retry amplificationとload sheddingのproduction counterevidence、dependency-specific isolation、fallback/side-effect boundaryを監査可能な形で固定します。
実務での使い方
本項は2026-10-05時点のAzure architecture guidance、AWS resiliency guidance、Resilience4j author-maintained repository/release/issue、Google Cloud production incident reportとbounded local fixtureに基づきます。production provider overload、service mesh、external side effect mutationは未実施です。
まだ確認できていないこと
- EA-246-UNKNOWN-01
対象Agent runtime、provider/model/tool、retry layer、timeout/deadline、breaker threshold、bulkhead size、priority class、load-shed policy、fallback route、residency、external status/idempotency API、SLO/cost、production failure distribution、library/framework exact versionsは未確認です。
根拠資料
この記事には、直接開ける外部出典が登録されていません。出典IDや検証情報は末尾で確認できます。
更新履歴
EA-246-FIRST-20261005: canonical audit/publication binding
出典ID・検証情報・機械可読データ
根拠の種類と情報の鮮度は、ラベルとアイコンで確認できます。
- 記事ID
- EA-246
- 最終確認日
- 2026-10-05
- 提供元・モデル・プラン・利用環境
- —
- 対象地域
- —
元資料の全文と収録照合記録
PUBLIC_CLAIM
Circuit Breaker、Retry、Bulkhead、Load Sheddingは同じ機能ではありません。
Retryは一時障害からの回復を試みます。Circuit Breakerは失敗しやすい依存先を一定期間fail-fastにします。Bulkheadは同時実行・thread/connection/worker等のresourceを分離します。Load Sheddingはcapacityを超えるworkをadmission段階で拒否します。
AI/Agentでは、この4つにtimeout/deadlineを加えて設計します。
TIMEOUT_AND_RETRY_BUDGET
remote callには明示的なconnection/request/operation deadlineを設定します。長すぎるtimeoutはresourceを保持し、短すぎるtimeoutはretry trafficを増幅します。
retryは各layerで無制限に重ねません。end-to-end attempt budgetを決め、retry ownerを固定し、transient failureだけをbounded exponential backoff + jitterへ入れます。
schema invalid、policy denial、permission error等のdeterministic failureをdependency-health retryへ混ぜません。
CIRCUIT_BREAKER
breakerは少なくともClosed/Open/Half-Openのstateを持ちます。
Open中はlikely-failing dependencyへのrequestをfail-fastにし、Half-Openでは限定probeだけを通します。回復直後に全trafficを戻しません。
failure thresholdはerror countだけで固定せず、slow-call率、429/5xx、timeout、minimum sample、window、provider固有signalを区別します。authorizationやcaller validation failureを無条件にbreaker failureへ数えません。
BULKHEAD
bulkheadはconcurrency/resource isolationです。
interactive/high-priority requestとbatch/eval/background Agentを同一resource poolへ無制限に入れません。dependency別またはworkload class別にin-flight上限とqueue上限を持ち、queue待ちがdeadlineを超えるworkは実行前に拒否します。
LOAD_SHEDDING
load sheddingはoverload後の例外処理だけではなくadmission controlとして扱います。
queue depth/age、in-flight concurrency、deadline slack、estimated token/compute、provider quota、tenant budget、priorityを使ってadmissionを判断します。
low-priority/background workを先にshedできるようreserved capacityを設けます。ただしbusiness priorityをprompt長やmodel名だけから推定しません。
RETRY_AMPLIFICATION
retryは可用性を上げる場合がありますが、障害を増幅する場合もあります。
2025年のGoogle Cloud AppSheet incidentでは、primary database障害後のretry surgeがsecondary authentication databaseをoverloadし、その後のtraffic migrationとlicense-entitlement負荷、aggressive load sheddingがlatencyをさらに悪化させました。
そのため、retry countだけでなくoriginal requestに対するtotal downstream attemptsをretry amplificationとして観測します。
FALLBACK_CORRECTNESS
fallback responseが返ったことを“成功”と同義にしません。
cache、small model、別provider、retrievalなし回答等へfallbackすると、freshness、quality、tool support、structured-output contract、policy、data residencyが変わる場合があります。
fallback routeごとに許可されたdata classification、capability、policy、residency、quality floorを固定し、degraded responseであることをtraceへ残します。
SIDE_EFFECT_BOUNDARY
Circuit Breakerがopenになったことやclient timeoutが発生したことは、直前のexternal tool actionが実行されなかった証明ではありません。
payment、email、ticket update等のside-effecting callにはstable operation ID/idempotency keyを付け、timeout/connection loss時はauthoritative statusをreadbackしてreconcileします。
OSS_IMPLEMENTATION_BOUNDARY
Resilience4jのようなlibraryはCircuitBreaker、Retry、RateLimiter、Bulkhead、TimeLimiterをcomposeできますが、decorator order、configuration、framework integration、versionによってobservable behaviorが変わります。
current release名だけでcompatibilityを推定せず、exact library/framework versionをpinしてfixtureを通します。v2.4.0ではSpring Boot 4 support artifactのBOM omissionがupstream issueとして報告されているため、release存在だけをintegration-completeの証拠にしません。
OPERATING_CHECK
少なくともdependency latency/timeout、429/503 mix、nested retry、provider quota exhaustion、half-open recovery、queue/bulkhead saturation、interactive vs batch contention、fallback provider/model/cache、external side effect成功後response loss、capacity migration中のretry/load sheddingをfault injectionします。
breaker open duration/flapping、bulkhead rejection、shed rate、queue age、retry amplification、fallback quality、token/compute cost、recovery timeを記録します。
FAILURE_ENVELOPE
slow/hard outage、429/503、timeout misconfiguration、retry storm、nested/synchronized retries、half-open probe flood、shared-breaker blast radius、bulkhead starvation、priority inversion、queue growth、quota exhaustion、fallback semantic mismatch、stale cache、residency/policy mismatch、ambiguous side effect、breaker flapping、wrong failure classification、manual override misuse、capacity migration overloadを想定します。
IMPLEMENTATION_STATE
本項は2026-10-05時点のAzure architecture guidance、AWS resiliency guidance、Resilience4j author-maintained repository/release/issue、Google Cloud production incident reportとbounded local fixtureに基づきます。production provider overload、service mesh、external side effect mutationは未実施です。
SAFE_WORDING
Circuit Breaker、Bulkhead、Load Shedding、Timeout、Retryは別の障害制御です。Circuit Breakerは失敗しやすい依存先をfail-fastにしますが、長時間実行中のresource占有、過剰な同時実行、retry amplification、外部side effectの重複まで自動的に防ぎません。依存先別のtimeout/breaker/bulkhead、end-to-end retry budget、priority-aware admission、限定half-open probe、fallbackの意味的適合性、side-effect readback/reconciliationを組み合わせてください。
OPEN_UNKNOWN
対象Agent runtime、provider/model/tool、retry layer、timeout/deadline、breaker threshold、bulkhead size、priority class、load-shed policy、fallback route、residency、external status/idempotency API、SLO/cost、production failure distribution、library/framework exact versionsは未確認です。
STOP_CONDITION
Circuit Breaker/Retry/Bulkhead/Load Sheddingを別controlとして分離し、retry amplificationとload sheddingのproduction counterevidence、dependency-specific isolation、fallback/side-effect boundaryを監査可能な形で固定します。
EA-246-CURRENT-APPROVAL研究資料研究資料根拠の出所: AUDITED_CANONICAL_RESEARCH_PACKET現行本文の監査・revision対応
- 裏付ける内容
- 現行台帳のAUDIT_PASSと候補・revision・本文ハッシュの対応を確認しています。
- 確認日
- —
- 出典・実験ID
- CANDIDATE-EA246-FIRST-20261005-C2-RESCUE20261013
- 検証箇所
- 1KqhJtiSb2S84rWmeYVwKcT_76dBwZ_B0ZZuAWQqH0rQ · EA_REVISION_LEDGER!A49:U49 · EA-246-FIRST-20261005
- 適用範囲
- —
- 出典・来歴
- CURRENT_CANONICAL_APPROVAL_READBACK
- 限界
- 監査状態と来歴の記録です。外部根拠の最新性や本文の全主張を追加保証しません。
EA-246-CURRENT-BODY-READBACK実装資料実装資料根拠の出所: IMPLEMENTATION_READBACK現行本文の収録照合
- 裏付ける内容
- 公開生成入力の本文SHA-256が、監査済み候補に結び付いたハッシュと一致しています。
- 確認日
- 2026-10-13
- 出典・実験ID
- BODY-SHA256:3b9dace9ac2af9b44d964e3e44a37265f7b1b6f40a373f90b37d9b431971d941
- 検証箇所
- content/staging/EA-246.md · 3b9dace9ac2af9b44d964e3e44a37265f7b1b6f40a373f90b37d9b431971d941 · EA-246-FIRST-20261005
- 適用範囲
- —
- 出典・来歴
- CURRENT_APPROVED_BODY_HASH_MATCH
- 限界
- 本文の同一性の検査です。外部システムの挙動や全主張の真偽を実証したものではありません。
- 出典ID
- CANDIDATE-EA246-FIRST-20261005-C2-RESCUE20261013, BODY-SHA256:3b9dace9ac2af9b44d964e3e44a37265f7b1b6f40a373f90b37d9b431971d941
- 追跡中のUNKNOWN ID
- EA-246-UNKNOWN-01
- 再確認のきっかけ
- canonical revision/publication state change · body artifact hash change · source currentness change · new contradiction or implementation readback
機械検査: 通過 — Automated validation does not guarantee accuracy or authorize execution.
同じ記事IDの機械可読データです。