5.5. Node.js のサーキットブレーカーの例


重要

以下の例は、実稼働環境で実行することは意図されていません。

制限: Minishift または CDK でこのサンプルアプリケーションを実行します。手動でのワークフローを使用して、この例を OpenShift Online Pro および OpenShift Container Platform にデプロイすることもできます。この例では、現在 OpenShift Online ドキュメンテーションでは使用できません。

実験レベルの例: Foundational

Circuit Breaker の例は、サービスの失敗を報告し、要求の処理に利用できるまで失敗したサービスへのアクセスを制限します。これにより、機能障害の発生したサービスに依存する他のサービスでエラーが発生するのを防ぐことができます。

以下の例では、サービスに Circuit Breaker および Fallback パターンを実装する方法を説明します。

5.5.1. サーキットブレーカー設計パターン

Circuit Breaker は以下の目的とするパターンです。

  • サービスが他のサービスを同期的に呼び出すサービスアーキテクチャーにおける、ネットワーク障害の影響やレイテンシーが高くなる。

    いずれかのサービスがある場合:

    • ネットワーク障害により利用不可になる
    • トラフィックの難読化により、レイテンシーの値がかなり長くなります。

    エンドポイントの呼び出しを試みる他のサービスは、到達を試みる際に重要なリソースを使い果たしなくなり、レンダリングが不可能になる可能性があります。

  • マイクロサービスアーキテクチャー全体でレンダリングできないように、コンピューター障害としても知られるようにします。
  • 保護された機能とリモート機能の間のプロキシーとして動作し、障害を監視するリモート機能として機能します。
  • エラーが特定のしきい値に到達し、サーキットブレーカーへの呼び出しがすべて、保護された呼び出しを行わずに、エラーや事前定義のフォールバック応答を返します。

サーキットブレーカーには、通常、サーキットブレーカーをトリップしたときに通知を行うエラー報告メカニズムも含まれています。

サーキットブレーカーの実装
  • Circuit Breaker パターンを実装すると、サービスクライアントは一定の間隔でプロキシー経由でリモートサービスエンドポイントを呼び出します。
  • リモートサービスエンドポイントへの呼び出しが繰り返し失敗し、一貫して Circuit Breaker トリップを行うと、サービスへのすべての呼び出しは設定されたタイムアウト期間を即座に失敗し、事前定義されたフォールバック応答を返します。
  • タイムアウトの期限が切れると、リモートサービスに渡すテストコールの数に制限され、16 進法か、使用できなくなったかを判断できます。

    • テスト呼び出しが失敗すると、サーキットブレーカーはサービスを利用できず、受信呼び出しにフォールバック応答を返します。
    • テスト呼び出しに成功すると、サーキットブレーカーが終了し、トラフィックが再びリモートサービスに到達できるようになります。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat