本文へスキップ

AI運用の判断と根拠を引く

トップへ戻る

Circuit Breaker/Bulkhead/Load Shedding × AI

用語・参照用語・参照公式仕様のみ公式仕様のみ現行現行として扱う

記事状態: 公開 · 最終確認: 2026-10-05

要点

Circuit Breaker、再試行、Bulkhead、Load Sheddingは同じ機能ではありません。

現在の判断

Circuit Breaker、再試行、Bulkhead、Load Sheddingは同じ機能ではありません。

どこまで当てはまるか

Circuit Breaker/Bulkhead/Load Shedding × AI

詳しく理解する

TIMEOUT AND RETRY BUDGET

remote callには明示的なconnection/request/操作内容 deadlineを設定します。長すぎる処理待ち時間の上限はresourceを保持し、短すぎる処理待ち時間の上限は再試行 trafficを増幅します。

再試行は各layerで無制限に重ねません。end-to-end attempt budgetを決め、再試行 担当者を固定し、transient 失敗だけをbounded exponential backoff + jitterへ入れます。

データ形式の定義 invalid、policy denial、権限 error等の決まった規則に従う 失敗をdependency-health 再試行へ混ぜません。

CIRCUIT BREAKER

breakerは少なくともClosed/Open/Half-Openの状態を持ちます。

Open中はlikely-failing dependencyへのrequestをfail-fastにし、Half-Openでは限定probeだけを通します。回復直後に全trafficを戻しません。

失敗 thresholdはerror countだけで固定せず、slow-call率、429/5xx、処理待ち時間の上限、minimum sample、window、提供元固有signalを区別します。認可やcaller 妥当性の検証 失敗を無条件にbreaker 失敗へ数えません。

BULKHEAD

bulkheadは同時実行数/resource isolationです。

interactive/high-priority requestとbatch/評価/background Agentを同一resource poolへ無制限に入れません。dependency別またはworkload class別にin-flight上限とqueue上限を持ち、queue待ちがdeadlineを超えるworkは実行前に拒否します。

LOAD SHEDDING

load sheddingはoverload後の例外処理だけではなくadmission 制御として扱います。

queue depth/age、in-flight 同時実行数、deadline slack、estimated token/compute、提供元 利用枠、組織の利用環境 budget、優先順位を使ってadmissionを判断します。

low-priority/background workを先にshedできるようreserved capacityを設けます。ただしbusiness 優先順位をprompt長やモデル名だけから推定しません。

RETRY AMPLIFICATION

再試行は可用性を上げる場合がありますが、障害を増幅する場合もあります。

2025年のGoogle Cloud AppSheet incidentでは、primary database障害後の再試行 surgeがsecondary authentication databaseをoverloadし、その後のtraffic migrationとlicense-entitlement負荷、aggressive load sheddingがlatencyをさらに悪化させました。

そのため、再試行 countだけでなくoriginal requestに対するtotal downstream attemptsを再試行 amplificationとして観測します。

FALLBACK CORRECTNESS

失敗時の代替処理 responseが返ったことを“成功”と同義にしません。

結果の再利用、small モデル、別提供元、検索・取得なし回答等へ失敗時の代替処理すると、情報の鮮度、quality、ツール 裏付け、structured-output 条件・契約、policy、データの保存地域が変わる場合があります。

失敗時の代替処理 routeごとに許可されたdata classification、利用可能な機能、policy、residency、quality floorを固定し、degraded responseであることをtraceへ残します。

SIDE EFFECT BOUNDARY

Circuit Breakerがopenになったことやclient 処理待ち時間の上限が発生したことは、直前の外部 ツール actionが実行されなかった証明ではありません。

payment、email、ticket update等のside-effecting callにはstable 操作内容 ID/重複実行を防ぐ性質 keyを付け、処理待ち時間の上限/connection loss時はauthoritative 状態を結果の照合してreconcileします。

実装・運用

Resilience4jのようなlibraryはCircuitBreaker、再試行、RateLimiter、Bulkhead、TimeLimiterをcomposeできますが、decorator order、設定、framework integration、バージョンによってobservable behaviorが変わります。

現在の 公開・提供名だけでcompatibilityを推定せず、exact library/framework バージョンをpinしてfixtureを通します。v2.4.0ではSpring Boot 4 裏付け 成果物のBOM omissionがupstream issueとして報告されているため、公開・提供存在だけをintegration-completeの証拠にしません。

OPERATING CHECK

少なくともdependency latency/処理待ち時間の上限、429/503 mix、nested 再試行、提供元 利用枠 exhaustion、half-open 復旧、queue/bulkhead saturation、interactive vs batch contention、失敗時の代替処理 提供元/モデル/結果の再利用、外部 外部への変更・送信成功後response loss、capacity migration中の再試行/load sheddingをfault injectionします。

breaker open duration/flapping、bulkhead rejection、shed rate、queue age、再試行 amplification、失敗時の代替処理 quality、token/compute cost、復旧 timeを記録します。

実装・運用 2

本項は2026-10-05時点のAzure architecture guidance、AWS resiliency guidance、Resilience4j author-maintained repository/公開・提供/issue、Google Cloud 本番環境 incident reportとbounded ローカル環境の fixtureに基づきます。本番環境 提供元 overload、service mesh、外部 外部への変更・送信 mutationは未実施です。

よくある失敗・反証

  • slow/hard outage、429/503、処理待ち時間の上限 misconfiguration、再試行 storm、nested/synchronized retries、half-open probe flood、shared-breaker blast radius、bulkhead starvation、優先順位 inversion、queue growth、利用枠 exhaustion、失敗時の代替処理 意味上の mismatch、要再確認 結果の再利用、residency/policy mismatch、ambiguous 外部への変更・送信、breaker flapping、wrong 失敗 classification、manual override misuse、capacity migration overloadを想定します。

  • Circuit Breaker/再試行/Bulkhead/Load Sheddingを別制御として分離し、再試行 amplificationとload sheddingの本番環境 反証、dependency-specific isolation、失敗時の代替処理/side-effect 適用限界を監査可能な形で固定します。

実務での使い方

  • 本項は2026-10-05時点のAzure architecture guidance、AWS resiliency guidance、Resilience4j author-maintained repository/公開・提供/issue、Google Cloud 本番環境 incident reportとbounded ローカル環境の fixtureに基づきます。本番環境 提供元 overload、service mesh、外部 外部への変更・送信 mutationは未実施です。

まだ確認できていないこと

  • EA-246-UNKNOWN-01

    対象Agent 実行環境、提供元/モデル/ツール、再試行 layer、処理待ち時間の上限/deadline、breaker threshold、bulkhead size、優先順位 class、load-shed policy、失敗時の代替処理 route、residency、外部 状態/重複実行を防ぐ性質 API、SLO/cost、本番環境 失敗 distribution、library/framework exact versionsは未確認です。

根拠資料

この記事には、直接開ける外部出典が登録されていません。出典IDや検証情報は末尾で確認できます。

更新履歴

  1. EA-246-FIRST-20261005: 正式な 監査/publication 対応付け

出典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
再確認のきっかけ
正式な 改訂版/publication 状態 change · 本文 成果物 hash change · 出典 現行性 change · new contradiction or 実装 結果の照合

機械検査: 通過 — 機械検査の結果です。情報の正確性や実行の承認を保証するものではありません。

    同じ記事IDの機械可読データです。