断路器
TsgcWSCircuitBreaker — 用于客户端调用 HTTP API 的断路器弹性模式。当上游服务发生故障时立即停止发送请求:快速失败、优雅恢复,让远程服务得以喘息。
TsgcWSCircuitBreaker — 用于客户端调用 HTTP API 的断路器弹性模式。当上游服务发生故障时立即停止发送请求:快速失败、优雅恢复,让远程服务得以喘息。
用于 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 个事件 — 摘自组件参考文档。
已发布属性:Thresholds、TimeWindow、Recovery。
已发布属性:Metrics。
属性:Enabled、DefaultKey、ServerKey。
方法:Execute、ExecuteWithResult、IsCallAllowed。
方法:RecordSuccess、RecordFailure、RecordMessageSuccess。
方法:IsConnectionAllowed、IsMessageAllowed、RegisterConnection。