{
  "format": "agent-article-v0",
  "article_id": "EA-246",
  "canonical_url": "/tools/ea-246-circuit-breaker-bulkhead-load-shedding-ai",
  "page_type": "reference",
  "claim_ids": [],
  "evidence_ids": [
    "EA-246-CURRENT-APPROVAL",
    "EA-246-CURRENT-BODY-READBACK"
  ],
  "unknown_ids": [
    "EA-246-UNKNOWN-01"
  ],
  "operational_object_ids": [],
  "provider": [],
  "models": [],
  "plans": [],
  "surfaces": [],
  "regions": [],
  "current_status": "CURRENT",
  "observation_status": "SPEC_ONLY",
  "freshness": "CURRENT",
  "last_verified": "2026-10-05",
  "supersedes": [],
  "superseded_by": [],
  "provenance": [
    "CANDIDATE-EA246-FIRST-20261005-C2-RESCUE20261013",
    "BODY-SHA256:3b9dace9ac2af9b44d964e3e44a37265f7b1b6f40a373f90b37d9b431971d941"
  ],
  "article_sources": [
    {
      "id": "EA-246-CURRENT-APPROVAL",
      "evidence_class": "RESEARCH",
      "title": "現行本文の監査・revision対応",
      "supports": [
        "現行台帳のAUDIT_PASSと候補・revision・本文ハッシュの対応を確認しています。"
      ],
      "limit": "監査状態と来歴の記録です。外部根拠の最新性や本文の全主張を追加保証しません。",
      "origin_class": "AUDITED_CANONICAL_RESEARCH_PACKET",
      "source_or_experiment_ids": [
        "CANDIDATE-EA246-FIRST-20261005-C2-RESCUE20261013"
      ],
      "supporting_locators": [
        "1KqhJtiSb2S84rWmeYVwKcT_76dBwZ_B0ZZuAWQqH0rQ",
        "EA_REVISION_LEDGER!A49:U49",
        "EA-246-FIRST-20261005"
      ],
      "provenance_status": "CURRENT_CANONICAL_APPROVAL_READBACK"
    },
    {
      "id": "EA-246-CURRENT-BODY-READBACK",
      "evidence_class": "IMPL",
      "title": "現行本文の収録照合",
      "supports": [
        "公開生成入力の本文SHA-256が、監査済み候補に結び付いたハッシュと一致しています。"
      ],
      "limit": "本文の同一性の検査です。外部システムの挙動や全主張の真偽を実証したものではありません。",
      "checked_at": "2026-10-13",
      "origin_class": "IMPLEMENTATION_READBACK",
      "source_or_experiment_ids": [
        "BODY-SHA256:3b9dace9ac2af9b44d964e3e44a37265f7b1b6f40a373f90b37d9b431971d941"
      ],
      "supporting_locators": [
        "content/staging/EA-246.md",
        "3b9dace9ac2af9b44d964e3e44a37265f7b1b6f40a373f90b37d9b431971d941",
        "EA-246-FIRST-20261005"
      ],
      "provenance_status": "CURRENT_APPROVED_BODY_HASH_MATCH"
    }
  ],
  "research_sections": [
    {
      "heading": "PUBLIC_CLAIM",
      "text": "Circuit Breaker、Retry、Bulkhead、Load Sheddingは同じ機能ではありません。\n\n\nRetryは一時障害からの回復を試みます。Circuit Breakerは失敗しやすい依存先を一定期間fail-fastにします。Bulkheadは同時実行・thread/connection/worker等のresourceを分離します。Load Sheddingはcapacityを超えるworkをadmission段階で拒否します。\n\n\nAI/Agentでは、この4つにtimeout/deadlineを加えて設計します。"
    },
    {
      "heading": "TIMEOUT_AND_RETRY_BUDGET",
      "text": "remote callには明示的なconnection/request/operation deadlineを設定します。長すぎるtimeoutはresourceを保持し、短すぎるtimeoutはretry trafficを増幅します。\n\n\nretryは各layerで無制限に重ねません。end-to-end attempt budgetを決め、retry ownerを固定し、transient failureだけをbounded exponential backoff + jitterへ入れます。\n\n\nschema invalid、policy denial、permission error等のdeterministic failureをdependency-health retryへ混ぜません。"
    },
    {
      "heading": "CIRCUIT_BREAKER",
      "text": "breakerは少なくともClosed/Open/Half-Openのstateを持ちます。\n\n\nOpen中はlikely-failing dependencyへのrequestをfail-fastにし、Half-Openでは限定probeだけを通します。回復直後に全trafficを戻しません。\n\n\nfailure thresholdはerror countだけで固定せず、slow-call率、429/5xx、timeout、minimum sample、window、provider固有signalを区別します。authorizationやcaller validation failureを無条件にbreaker failureへ数えません。"
    },
    {
      "heading": "BULKHEAD",
      "text": "bulkheadはconcurrency/resource isolationです。\n\n\ninteractive/high-priority requestとbatch/eval/background Agentを同一resource poolへ無制限に入れません。dependency別またはworkload class別にin-flight上限とqueue上限を持ち、queue待ちがdeadlineを超えるworkは実行前に拒否します。"
    },
    {
      "heading": "LOAD_SHEDDING",
      "text": "load sheddingはoverload後の例外処理だけではなくadmission controlとして扱います。\n\n\nqueue depth/age、in-flight concurrency、deadline slack、estimated token/compute、provider quota、tenant budget、priorityを使ってadmissionを判断します。\n\n\nlow-priority/background workを先にshedできるようreserved capacityを設けます。ただしbusiness priorityをprompt長やmodel名だけから推定しません。"
    },
    {
      "heading": "RETRY_AMPLIFICATION",
      "text": "retryは可用性を上げる場合がありますが、障害を増幅する場合もあります。\n\n\n2025年のGoogle Cloud AppSheet incidentでは、primary database障害後のretry surgeがsecondary authentication databaseをoverloadし、その後のtraffic migrationとlicense-entitlement負荷、aggressive load sheddingがlatencyをさらに悪化させました。\n\n\nそのため、retry countだけでなくoriginal requestに対するtotal downstream attemptsをretry amplificationとして観測します。"
    },
    {
      "heading": "FALLBACK_CORRECTNESS",
      "text": "fallback responseが返ったことを“成功”と同義にしません。\n\n\ncache、small model、別provider、retrievalなし回答等へfallbackすると、freshness、quality、tool support、structured-output contract、policy、data residencyが変わる場合があります。\n\n\nfallback routeごとに許可されたdata classification、capability、policy、residency、quality floorを固定し、degraded responseであることをtraceへ残します。"
    },
    {
      "heading": "SIDE_EFFECT_BOUNDARY",
      "text": "Circuit Breakerがopenになったことやclient timeoutが発生したことは、直前のexternal tool actionが実行されなかった証明ではありません。\n\n\npayment、email、ticket update等のside-effecting callにはstable operation ID/idempotency keyを付け、timeout/connection loss時はauthoritative statusをreadbackしてreconcileします。"
    },
    {
      "heading": "OSS_IMPLEMENTATION_BOUNDARY",
      "text": "Resilience4jのようなlibraryはCircuitBreaker、Retry、RateLimiter、Bulkhead、TimeLimiterをcomposeできますが、decorator order、configuration、framework integration、versionによってobservable behaviorが変わります。\n\n\ncurrent release名だけでcompatibilityを推定せず、exact library/framework versionをpinしてfixtureを通します。v2.4.0ではSpring Boot 4 support artifactのBOM omissionがupstream issueとして報告されているため、release存在だけをintegration-completeの証拠にしません。"
    },
    {
      "heading": "OPERATING_CHECK",
      "text": "少なくとも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します。\n\n\nbreaker open duration/flapping、bulkhead rejection、shed rate、queue age、retry amplification、fallback quality、token/compute cost、recovery timeを記録します。"
    },
    {
      "heading": "FAILURE_ENVELOPE",
      "text": "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を想定します。"
    },
    {
      "heading": "IMPLEMENTATION_STATE",
      "text": "本項は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は未実施です。"
    },
    {
      "heading": "SAFE_WORDING",
      "text": "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を組み合わせてください。"
    },
    {
      "heading": "OPEN_UNKNOWN",
      "text": "対象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は未確認です。"
    },
    {
      "heading": "STOP_CONDITION",
      "text": "Circuit Breaker/Retry/Bulkhead/Load Sheddingを別controlとして分離し、retry amplificationとload sheddingのproduction counterevidence、dependency-specific isolation、fallback/side-effect boundaryを監査可能な形で固定します。"
    }
  ],
  "human_url": "/tools/ea-246-circuit-breaker-bulkhead-load-shedding-ai",
  "markdown_url": "/agent/article.md?path=%2Ftools%2Fea-246-circuit-breaker-bulkhead-load-shedding-ai",
  "json_url": "/agent/article.json?path=%2Ftools%2Fea-246-circuit-breaker-bulkhead-load-shedding-ai"
}