Circuit Breaker

TsgcWSCircuitBreaker ― HTTP API へのクライアントサイド呼び出しにサーキットブレーカーパターンを実装します。障害が発生した上流への送信を即座に停止し、フェイルファストで優雅に回復してリモートサービスに余裕を与えます。

TsgcWSCircuitBreaker

HTTP API 呼び出し向けの クローズド / オープン / ハーフオープン サーキットブレーカーです。上流が不健全になるとリクエストをショートサーキットし、アプリをフェイルファストにします。

コンポーネントクラス

TsgcWSCircuitBreaker

プロトコル

クライアントサイドのレジリエンス ― CircuitBreaker プロパティを持つ任意の sgc HTTP / AI / API コンポーネントにアタッチします。

プラットフォーム

Windows, macOS, Linux, iOS, Android

エディション

Standard / Professional / Enterprise

コンポーネントを配置してプロパティを設定するだけ

しきい値を設定し、3 つのライフサイクルイベントをフックして、任意の HTTP コンポーネントにブレーカーをアタッチします。

uses
  sgcCircuitBreaker;

var
  CB: TsgcWSCircuitBreaker;
begin
  CB := TsgcWSCircuitBreaker.Create(nil);
  CB.FailureThreshold := 5;
  CB.ResetTimeout     := 30;  // seconds

  CB.OnCircuitBreakerOpen     := DoOpen;
  CB.OnCircuitBreakerHalfOpen := DoHalfOpen;
  CB.OnCircuitBreakerClose    := DoClose;

  // Attach to an HTTP / API component that exposes a CircuitBreaker property
  Anthropic.CircuitBreaker := CB;
end;

主な機能

公開プロパティ 10 個、メソッド 17 個、イベント 5 個 ― コンポーネントリファレンスより。

設定

公開プロパティ:ThresholdsTimeWindowRecovery

診断

公開プロパティ:Metrics

コア

プロパティ:EnabledDefaultKeyServerKey

実行

メソッド:ExecuteExecuteWithResultIsCallAllowed

記録

メソッド:RecordSuccessRecordFailureRecordMessageSuccess

インテグレーション

メソッド:IsConnectionAllowedIsMessageAllowedRegisterConnection

ドキュメントとデモ

コンポーネントリファレンスへのディープリンク、すぐに実行できるデモプロジェクト、体験版のダウンロードをご利用ください。

デモプロジェクト — 01.WebSocket\08.CircuitBreaker すぐに実行できるサンプルプロジェクトです。sgcWebSockets パッケージに同梱されています — 下のリンクから体験版をダウンロードしてください。
技術ドキュメント (PDF) 機能、クイックスタート、Delphi および C++ Builder のコードサンプルと一次情報源リファレンス — 本コンポーネントのみ。
ユーザーマニュアル (PDF) ライブラリ内のすべてのコンポーネントを網羅した包括的なマニュアルです。

連鎖障害を今すぐ防止する

体験版をダウンロードして、sgcWebSockets HTTP API クライアントにサーキットブレーカーパターンを追加しましょう。