断路器

TsgcWSCircuitBreaker — 用于客户端调用 HTTP API 的断路器弹性模式。当上游服务发生故障时立即停止发送请求:快速失败、优雅恢复,让远程服务得以喘息。

TsgcWSCircuitBreaker

用于 HTTP API 调用的关闭 / 打开 / 半开断路器。当上游服务出现不健康时短路请求,让您的应用快速失败。

组件类

TsgcWSCircuitBreaker

协议

客户端弹性 — 可附加到任何暴露 CircuitBreaker 属性的 sgc HTTP / AI / API 组件。

支持平台

Windows、macOS、Linux、iOS、Android

版本

Standard / Professional / Enterprise

放置组件、设置几个属性,即可开始

设置阈值,挂接三个生命周期事件,然后将断路器附加到任何 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 客户端。