---
schema_version: "1"
id: 6a8ec8fed6f0a64f2706f5694467c659ad16adf4aa836d715dac48adc615e923
title: サーキットブレーカーポリシー
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/gateway/1.9/policies-outbound-circuit-breaker.md
canonical_url: https://docs.mulesoft.com/jp/gateway/1.9/policies-outbound-circuit-breaker
source_site: docs.mulesoft.com
content_type: documentation
content_hash: bbd5e1273b0a4650012ee3d5dcac3840aae058bc1ff44600170e1c4c1423f24e
description: MuleSoft Documentation Site
release: "1.9"
latest: false
---
# サーキットブレーカーポリシー

<table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="tableblock halign-right valign-top"><p class="tableblock"><strong>ポリシー名</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>サーキットブレーカー</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-right valign-top"><p class="tableblock"><strong>概要</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>アップストリームが受信する要求または接続が多くなりすぎるのを防止する</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-right valign-top"><p class="tableblock"><strong>カテゴリ</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>サービス品質</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-right valign-top"><p class="tableblock"><strong>使用可能な最小 Flex Gateway バージョン</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>v1.9.0</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-right valign-middle" rowspan="4"><p class="tableblock"><strong>返される状況コード</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>503 - Service Unavailable (サービスを利用できません)</p>
</div></div></td>
</tr>
</tbody>
</table>

## [](#概要)概要

サーキットブレーカーポリシーでは、アップストリームサービスが一度に受信する要求または接続が多くなりすぎるのを防止します。定義済みの最大数に達すると、Flex Gateway によって ​`503 - Service Unavailable (サービスを利用できません)`​ エラーが返されます。

管理 Flex Gateway または接続モードでは、同じアップストリームを要求する際に各 API インスタンスに独立した制限があるため、それぞれで最大数いっぱいまで使用できます。ローカルモードでは、制限が異なる API インスタンス間で共有されるため、すべてが同じアップストリームの最大数に従う必要があります。すべてのモードで、最大数はレプリカ間で分配されず、それぞれのゲートウェイで最大数いっぱいまで使用できます。

サーキットブレーカーポリシーは、Envoy アップストリームクラスターサーキットブレーク機能の拡張機能です。Envoy のサーキットブレークについての詳細は、Envoy ドキュメントの [「Circuit Breaking (サーキットブレーク)」](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/circuit_breaking.html)​を参照してください。

## [](#ポリシーのパラメーターの設定)ポリシーのパラメーターの設定

### [](#local-mode)Flex Gateway のローカルモード

ローカルモードでは、宣言型の設定ファイルを使用してポリシーを API に適用します。以下のポリシー定義とパラメーターの表を参照してください。

apiVersion: gateway.mulesoft.com/v1alpha1
kind: PolicyBinding
metadata:
  name: upstream-policy
spec:
  targetRef:
    Kind: Service
    name: upstream
  policyRef:
    name: circuit-breaker-flex
  config:
    thresholds:
      maxConnections: <number> // OPTIONAL
      maxPendingRequests: <number> // OPTIONAL
      maxRequests: <number> // OPTIONAL
      maxRetries: <number> // OPTIONAL
      maxConnectionPools: <number> // OPTIONAL

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">ローカルモードでは制限が独立していないため、異なる API インスタンスでアップストリームの最大数を共有します。</td></tr></tbody></table>

<table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">パラメーター</th>
<th class="tableblock halign-left valign-top">必須または省略可能</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>maximumConnections</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>省略可能</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>アップストリームへの API ごとの接続の最大数。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>maximumPendingRequests</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>省略可能</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>接続を待機する間のキューに登録された要求の最大数。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>maximumRequests</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>省略可能</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>アップストリームへの未処理要求の最大数。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>maximumRetries</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>省略可能</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>未処理再試行の最大数。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>maximumConnectionPools</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>省略可能</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>アップストリームへの同時に開始される接続プールの最大数。</p>
</div></div></td>
</tr>
</tbody>
</table>

#### [](#リソースの設定例)リソースの設定例

次の例では、一度に最大 1 つの要求をサポートするポリシーを定義します。

apiVersion: gateway.mulesoft.com/v1beta1
kind: Configuration
metadata:
  name: circuit-breaker
  namespace: test-ns
spec:
  circuitBreaker:
    thresholds:
      maxConnections: 1
      maxPendingRequests: 1
      maxRequests: 1
      maxRetries: 1
      maxConnectionPools: 1

### [](#connected-mode)管理 Flex Gateway および Flex Gateway の接続モード

UI からポリシーを API インスタンスに適用するときに、以下のパラメーターが表示されます。

<table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">パラメーター</th>
<th class="tableblock halign-left valign-top">必須または省略可能</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Maximum connections (最大接続数)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>省略可能</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>アップストリームへの API ごとの接続の最大数。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Maximum pending requests (最大の保留中の要求数)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>省略可能</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>接続を待機する間のキューに登録された要求の最大数。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Maximum requests (最大要求数)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>省略可能</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>アップストリームへの未処理要求の最大数。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Maximum retries (最大再試行数)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>省略可能</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>未処理再試行の最大数。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Maximum connection pools (最大接続プール数)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>省略可能</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>アップストリームへの同時に開始される接続プールの最大数。</p>
</div></div></td>
</tr>
</tbody>
</table>

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">管理 Flex Gateway または接続モードでは、同じアップストリームを要求する際に各 API インスタンスに独立した制限があるため、それぞれで最大数いっぱいまで使用できます。</td></tr></tbody></table>